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! Любые изменения в коде будут сразу подхватываться.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| freq_table-0.2.2.tar.gz | 14.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|