Skip to main content

Make printable tables using http://radioscanner.ru frequency db

Project description

freq_table

PyPI version PyPI pyversion

Мощный инструмент для создания красиво оформленных таблиц радиочастот.
Проект имеет большой потенциал, помощь в развитии приветствуется.

Пример сгенерированной таблицы (кликабельно): Sample

Возможности

  • Получение записей из базы портала radioscanner.ru. Сайт поддерживает расширенные поиск и фильтрацию.
  • Сохранение и редактирование записей в формате YAML, объединение и обновление списков.
  • Генерация HTML-файлов по шаблону, стилизация с помощью CSS.
  • Простая кастомизация не требует знания HTML&CSS.

Недостатки:

  • Остаётся необходимость (полу)ручной подгонки вёрстки.

Использование

Установка

  1. Убедиться в наличии Python (протестировано на версии 3.7).

  2. Рекомендуемая установка (необходим pipx):

    pipx install freq_table
    

    ИЛИ

    Простая установка (может привести к конфликту зависимостей):

    pip install --user freq_table
    

Конфигурирование

  1. Создать пустую папку и перейти в неё.

  2. Инициализировать файлы конфигурации и шаблонов:

    freq_table --init
    

    Должно появиться три файла с предустановленными параметрами, которые можно менять по своему усмотрению. Текущие параметры подогнаны под вертикальный лист формата A1. Чтобы вернуть изначальные, просто начните заново в другой папке.

  3. В файле config.yaml:

    • Вписать URL нужной таблицы с сайта radioscanner.ru (со всеми фильтрами), не забудьте заменить номер страницы на {page}.
    • Настроить содержимое и заголовки колонок по своему вкусу, ширину можно подобрать позже, экспериментальным путём.
  4. Можно поменять также файлы output.html.mako и output.css.

Генерация таблицы

  1. Первый запуск загрузит и сохранит записи с сайта в файл records.yaml, а также сразу сгенерирует таблицу:

    freq_table --dump
    
  2. Открыть полученный output.html в достаточно новом браузере (рекомендую Chrome, Yandex). Открыть предпросмотр печати, настроить параметры страницы. Желательно сразу выбрать экспорт в PDF.

  3. Кол-во строк в каждой таблице регулируется ключом slices в конфиге. Эмпирически подобрать нужные значения.

  4. После каждого изменения необходимо запускать скрипт (без аргументов) и перезагружать страницу в браузере. При изменении CSS достаточно перезагрузки страницы.

Продвинутое использование

Программа работает со списком записей. Запись представляет собой частоту и произвольную информацию, ассоциированную с ней. Обязательные поля:

  • frequency - частота (в МГц), по ней записи сортируются
  • url - уникальный идентификатор, при скрейпинге с сайта соответствует URL страницы

При загрузке записей из нескольких источников (интернет, файлы) каждая обработанная запись перезаписывает предыдущие с тем же url. В будущем планируется добавить инструменты для разрешения конфликтов вручную.

Подробное описание опций запуска программы можно получить, выполнив:

freq_table --help

Редактирование и обновление записей

  • Можно редактировать записи в файле records.yaml и добавлять новые.

  • Получить новые записи с сервера (существующие при этом изменены не будут):

    freq_table -s -l -d
    
  • Получить новые записи с перезаписью существующих:

    freq_table -u -l -d
    

Доработка кода

Если хочется залезть в код ручками:

  1. Склонировать этот репозиторий.
  2. pip install -e .
  3. ???
  4. Profit! Любые изменения в коде будут сразу подхватываться.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freq_table-0.2.2.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freq_table-0.2.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file freq_table-0.2.2.tar.gz.

File metadata

  • Download URL: freq_table-0.2.2.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for freq_table-0.2.2.tar.gz
Algorithm Hash digest
SHA256 97fdc6c1206e7c1ae44f19a711f439b196b170d67e282e316dce7f8f12c43fe3
MD5 e96fc36b84c3f047376d1ff462879c3e
BLAKE2b-256 9767139bb295df491aa126ebc42b379e291490812f6ce5bdc5acab96fd8ee226

See more details on using hashes here.

File details

Details for the file freq_table-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: freq_table-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.32.2 CPython/3.7.3

File hashes

Hashes for freq_table-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9d83381461f989f3b56f1594d6a1926f7eecf4f6d66b5463b9e801d7ee6a03f4
MD5 53341bde4502a9b2c2f9d0ce99ca4d46
BLAKE2b-256 98ff92f24101227380d0ad7035511219539f4de670f33c0ec64a8e965d83cfec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page