Log для ОС семейства Linux - LinLog

UR4Lxx

Собеседник
Пости
56
Бали
0
Здравствуйте.
Представляю свой "учебный проект" по программированию. Простой, минималистичный log для Linux. В логе отсутствует модуль цифровых видов. Вдохновлен был Logger32, с которым работаю много лет, от него был взят мультиоконный интерфейс который можно располагать так как удобно на конкретном рабочем столе.
Лог сейчас умеет:
  • вводить QSO
  • искать повторы QSO
  • редактировать QSO
  • подтягивает картинку с сайта qrz.com (это по мотивам UR5EQF, которым я пользовался на заре своего занятия радио)
  • кластер, по умолчанию dxfun - при клике по споту в форму забивается позывной, частота, диапазон, так же происходит переключение трансивера на частоту спота. Так же dxfun время от времени высылает состояние ионосферы - это тоже выводится в окне кластера
  • фильтр для кластера по споттерам (префиксы), по спотам (префиксы), по диапазонам
  • импорт/экспорт adi файла
  • реализован протокол TCI для управления трансивером
  • Управление цветовой схемой (можно подобрать под себя)
Из протоколов связи с трансивером - пока только TCI - по причине того что это мне нужно было для отработки темы websoket'ов.
Из TCI, в частности реализовано:
  • переключение моды, диапазона, частоты в логе, в соответствии с модой, диапазоном, частотой выставленными в трансивере
  • переключение трансивера на частоту спота (мода, при этом, включается согласно бэндплана прописанному в ESDR), при клике по споту
  • при ручном вводе позывного в форму лога и переходе на другие поля ввода (RS, имя, QTH) - на панораму выводится позывной и он становится желтым, при нажатии на Enter в форме лога - связь сохраняется в логе, позывной на панораме становится темно серого цвета. Такой подход позволяет "помечать станции" (например, кого-то не дозвался, перешел на другую частоту, провел связь там, потом можно вернуться (позывной на панораме останется желтым) и еще раз попробовать вызвать (не знаю у кого как, у меня такие ситуации случаются) ) + видеть с кем уже провел связь на диапазоне.
Протокол CAT - cам по себе очень устаревший и не представляет интереса с точки зрения разработчика (работа с COM-портами - узкоспециализированная тема, в широком употреблении сейчас уже никому не нужна). Кроме того он еще и не универсальный, чуть ли не для каждого семейства трансиверов надо делать свою библиотеку... Такое... Внедрить CAT планирую - но позже. Да и особо тестировать не на чем. Мой СДР работает только в винде, а железные "кони" - не имеют САТа в виду того, что это самоделки.

Лог не использует какие либо базы данных, а работает с файлом лога и оперативной памятью. В принципе, перевести проект на БД - не проблема, просто таковой цели изначально не ставилось. Как показала практика - для вменяемых среднестатистичных логов - разницы в работе нет. А если лог уж очень большой - то необходимо время для полной загрузки лога (я тестировал на 120 000 записей - время открытия составило порядка 30 секунд), этот момент можно обойти, перенеся загрузку лога в отдельный поток - позже реализую.

По кластеру - заложено в ПО и уже отображено в настройках - использование любого телнет-кластера - на Ваш выбор - для этого нужно будет запустить калибровку кластера и указать какие из полученных данных от телнет-кластера являются частотой, а какие - позывным спота. Эта калибровка необходима в связи с тем, что от разных серверов могут поступать разный формат строк спотов. Пока эта функция работает только для кластеров которые начинают строку спота с "DX" (Большинство кластеров так работает), в последствии расширю, до абсолютно любых телнет-кластеров

Не обошлось и без глюков.
Так например отловленный мной глюк - если закрыть любое сопутствующее окно, например меню, кнопкой "закрыть" (крестиком) - то при следующем открытии - окно открывается просто черным, стоит потянуть за любой угол - окно отрисовывается как положено. Сейчас с этим глюком пытаюсь бороться.

Собственно что из планов по приоритету:
  • синхронизация с логом на qrz.com (LinLog будет сразу сливать связи на qrz.com)
  • синхронизация с сервисом eqsl.cc (LinLog будет автоматически оправлять eqsl за QSO)
  • внедрить CAT
  • отслеживание и внедрение новых "фишек" TCI (CW макросы и т.п.)
  • постоянная работа над устранением багов и бажков)
Установка:
  • скачать архив по ссылке ниже
  • запустить файл main
  • ввести позывной на приветственном окне
  • нажать ОК
(с выводом красивого значка в меню - думаю пользователь Линукса справится и без меня (учитывая весь зоопарк DE в Линуксе - это реально гораздо проще сделать руками конкретному пользователю с конкретной DE))

Импорт adi файла лога:
  • открыть настройки (settings)
  • перейти на вкладку log file
  • нажать кнопку import
  • выбрать файл лога, который нужно импортировать
  • если все ок - вы получите уведомление - import completed, список связей в логе обновится
Системные требования:
  • Любой GNU/Linux дистрибутив
  • GLIBC 2.29 и выше
  • Python 3.7.3 и выше
Лог написан в Fedora Linux, тестировался и на Ubuntu 19.04

Ссылка на сайт -

Please Login or Register to view hidden text.





526527
 
Останнє редагування:
Пости
1 030
Бали
0
Сергей, попробовал последнюю версию Fedora 32 выдает опшибку

File "main.py", line 4588, in <module>
if settingsDict['cw'] == "True":
KeyError: 'cw'