Make printable tables using http://radioscanner.ru frequency db
Project description
freq_table
Мощный инструмент для создания красиво оформленных таблиц радиочастот.
Проект имеет большой потенциал, помощь в развитии приветствуется.
Пример сгенерированной таблицы (кликабельно):
Возможности
- Получение записей из базы портала 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! Любые изменения в коде будут сразу подхватываться.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97fdc6c1206e7c1ae44f19a711f439b196b170d67e282e316dce7f8f12c43fe3
|
|
| MD5 |
e96fc36b84c3f047376d1ff462879c3e
|
|
| BLAKE2b-256 |
9767139bb295df491aa126ebc42b379e291490812f6ce5bdc5acab96fd8ee226
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d83381461f989f3b56f1594d6a1926f7eecf4f6d66b5463b9e801d7ee6a03f4
|
|
| MD5 |
53341bde4502a9b2c2f9d0ce99ca4d46
|
|
| BLAKE2b-256 |
98ff92f24101227380d0ad7035511219539f4de670f33c0ec64a8e965d83cfec
|