Утилита определения способа QSL обмена — pyQSLRoute v0.2

Очень часто радиолюбители в коллбуки qrz.ru и qrz.com вносят информацию о поддерживаемых ими способах QSL обмена в поле VIA (хотя по идее оно предназначено несколько для другого — для позывного QSL менеджера). Причем делают это в абсолютно свободной форме. Эти данные я заношу в соответствующие поля QSO в журнале LogHX и использую при последующей выписке/отправке карточек через бюро. После того как я начал много работать в эфире, стало довольно утомительно вручную выполнять все эти действия. Захотелось как-то автоматизировать процесс и тем самым сэкономить немного времени, которого постоянная хроническая нехватка.

При этом, я уже давно хотел посмотреть на очень модный в последнее время язык программирования Python, хотя бы в самых общих чертах. Что собственно и обусловило выбор языка для реализации этой идеи.

В итоге за пару вечеров я набросал довольно корявенькую в техническом плане утилиту, чтобы проверить насколько работоспособна в принципе идея подобной автоматизации. Скажем так — прототип, но тем не менее полностью рабочий функционально и который успешно используется на постоянной основе.

В общих чертах алгоритм следующий:

  1. На вход утилиты подается файл in.adi экспортированный из аппаратного журнала и по каждому из QSO:
  2. Сначала ищется строка VIA на страничке корреспондента на qrz.com .
  3. Если на qrz.com ничего не найдено, то для русских позывных:
    a) Идет поиск строки VIA на qrz.ru,
    б) Если не найдена, то запрашиваются данные через API qrz.ru
    в) Если и тут пусто, то анализируется блок QSL data на qrzcq.com
    — для всех прочих позывных (включая специальные):
    а) Анализируется блок QSL data на qrzcq.com
    б) Если там пусто, то идет поиск строки VIA на qrz.ru,
    в) Если не найдена, то запрашиваются данные через API qrz.ru
  4. На выходе утилиты формируется файл out.adi.
  5. В поле USER1 out.adi будет добавлено: B — если корреспондент поддерживает обмен через бюро; D — если корреспондент поддерживает обмен директом, но не использует бюро; O — если корреспондент поддерживает запрос отправки карточки директом через сервис OQRS; E — если корреспондент поддерживает только электронный обмен.
  6. В поле USER2 out.adi будет добавлена найденная строка VIA.
  7. В поле USER3 out.adi будет добавлена ссылка на страничку корреспондента в коллбуке на которой была найдена информация.
  8. В поле QSL_VIA out.adi будет добавлен позывной QSL менеджера (если есть), определение позывного по входящей строке производится косвенным образом через api qrz.com.

Скачать текущую актуальную версию 0.2 утилиты pyQSLRoute

В дальнейших планах оформить эту утилиту в виде некого подобия плагина для LogHX (прямая работа с БД лога, какие-то GUI отражения процесса работы, причесать код и т.д.)

Запись опубликована в рубрике Радио с метками , , . Добавьте в закладки постоянную ссылку.

1
Оставить комментарий

avatar
  Подписаться  
новее старее большинство голосов
Уведомление о
Костя
Гость
Костя

from RA9YRU
пару месяцев назад, с помощью Вашей утилиты проверил свой лог на способы обмена qsl. дополнительной строкой вывел позывные SK. был удивлен что кто-то из радиолюбителей уже не встретится в эфире, ведь проводил связь буквально месяц назад. данной функции не нашел ни в одном логе, считаю плагином будет много полезной информации и удачным дополнением. попытка собрать что-то в единый продукт была у Checklog (R2ADF) — но у него эта программа на платной основе и совсем неадекватная реакция на обратную связь пользователей.