Skip to main content

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! Любые изменения в коде будут сразу подхватываться.

Release files for freq-table 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for freq-table 0.2.2
File Size Uploaded
freq_table-0.2.2.tar.gz 14.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for freq-table 0.2.2
File Interpreter ABI Platform
freq_table-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 28.2 kB

Release files / freq_table-0.2.2.tar.gz

Download URL freq_table-0.2.2.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
97fdc6c1206e7c1ae44f19a711f439b196b170d67e282e316dce7f8f12c43fe3
BLAKE2b-256 checksum
How to use checksums
9767139bb295df491aa126ebc42b379e291490812f6ce5bdc5acab96fd8ee226
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / freq_table-0.2.2-py3-none-any.whl

Download URL freq_table-0.2.2-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d83381461f989f3b56f1594d6a1926f7eecf4f6d66b5463b9e801d7ee6a03f4
BLAKE2b-256 checksum
How to use checksums
98ff92f24101227380d0ad7035511219539f4de670f33c0ec64a8e965d83cfec
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page