Мощный инструмент для создания красиво оформленных таблиц радиочастот.
Проект имеет большой потенциал, помощь в развитии приветствуется.
Внимание! До версии 1.0.0 интерфейс и функциональность будут нестабильными.
Пример сгенерированной таблицы (кликабельно):
- Получение записей из базы портала radioscanner.ru. Сайт поддерживает расширенные поиск и фильтрацию.
- Сохранение и редактирование записей в формате YAML, объединение и обновление списков.
- Генерация HTML-файлов по шаблону, стилизация с помощью CSS.
- Простая кастомизация не требует знания HTML&CSS.
- Остаётся необходимость (полу)ручной подгонки вёрстки.
-
Убедиться в наличии Python (протестировано на версии 3.7).
-
Рекомендуемая установка (необходим pipx):
pipx install freq_table
ИЛИ
Простая установка (может привести к конфликту зависимостей):
pip install --user freq_table
-
Создать пустую папку и перейти в неё.
-
Инициализировать файлы конфигурации и шаблонов:
freq_table --init
Должно появиться три файла с предустановленными параметрами, которые можно менять по своему усмотрению. Текущие параметры подогнаны под вертикальный лист формата A1. Чтобы вернуть изначальные, просто начните заново в другой папке.
-
В файле
config.yaml
:- Вписать URL нужной таблицы с сайта radioscanner.ru (со всеми фильтрами), не забудьте заменить номер страницы на
{page}
. - Настроить содержимое и заголовки колонок по своему вкусу, ширину можно подобрать позже, экспериментальным путём.
- Вписать URL нужной таблицы с сайта radioscanner.ru (со всеми фильтрами), не забудьте заменить номер страницы на
-
Можно поменять также файлы
output.html.mako
иoutput.css
.
-
Первый запуск загрузит и сохранит записи с сайта в файл
records.yaml
, а также сразу сгенерирует таблицу:freq_table --dump
-
Открыть полученный
output.html
в достаточно новом браузере (рекомендую Chrome, Yandex). Открыть предпросмотр печати, настроить параметры страницы. Желательно сразу выбрать экспорт в PDF. -
Кол-во строк в каждой таблице регулируется ключом
slices
в конфиге. Эмпирически подобрать нужные значения. -
После каждого изменения необходимо запускать скрипт (без аргументов) и перезагружать страницу в браузере. При изменении CSS достаточно перезагрузки страницы.
Программа работает со списком записей. Запись представляет собой частоту и произвольную информацию, ассоциированную с ней. Обязательные поля:
frequency
- частота (в МГц), по ней записи сортируютсяurl
- уникальный идентификатор, при скрейпинге с сайта соответствует URL страницы
При загрузке записей из нескольких источников (интернет, файлы) каждая обработанная запись перезаписывает предыдущие с тем же url
.
В будущем планируется добавить инструменты для разрешения конфликтов вручную.
Подробное описание опций запуска программы можно получить, выполнив:
freq_table --help
-
Можно редактировать записи в файле
records.yaml
и добавлять новые. -
Получить новые записи с сервера (существующие при этом изменены не будут):
freq_table -s -l -d
-
Получить новые записи с перезаписью существующих:
freq_table -u -l -d
Если хочется залезть в код ручками:
- Склонировать этот репозиторий.
pip install -e .
- ???
- Profit! Любые изменения в коде будут сразу подхватываться.