not1mm 24.11.23__tar.gz → 24.11.24.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {not1mm-24.11.23 → not1mm-24.11.24.1}/PKG-INFO +26 -24
- {not1mm-24.11.23 → not1mm-24.11.24.1}/README.md +25 -23
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/donors.html +4 -0
- not1mm-24.11.24.1/not1mm/lib/version.py +3 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/10_10_fall_cw.py +91 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/10_10_spring_cw.py +91 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/10_10_summer_phone.py +91 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/10_10_winter_phone.py +91 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_10m.py +110 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_vhf_jan.py +92 -1
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_vhf_jun.py +92 -1
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_vhf_sep.py +95 -1
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_160_cw.py +94 -5
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_160_ssb.py +94 -5
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +91 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +91 -0
- not1mm-24.11.24.1/not1mm/plugins/iaru_hf.py +491 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/PKG-INFO +26 -24
- {not1mm-24.11.23 → not1mm-24.11.24.1}/pyproject.toml +1 -1
- not1mm-24.11.23/not1mm/lib/version.py +0 -3
- not1mm-24.11.23/not1mm/plugins/iaru_hf.py +0 -381
- {not1mm-24.11.23 → not1mm-24.11.24.1}/LICENSE +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/__init__.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/__main__.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/bandmap.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/checkwindow.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/about.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/bandmap.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/check.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/configuration.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/contests.sql +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/cty.json +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/editcontact.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/editmacro.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/greendot.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/logwindow.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/main.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/new_contest.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/not1mm.html +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/opon.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/radio_green.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/radio_grey.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/radio_red.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/reddot.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/settings.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/splash.png +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/data/vfo.ui +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/fsutils.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/__init__.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/about.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/database.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/edit_station.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/fldigi_watcher.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/lookup.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/multicast.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/n1mm.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/new_contest.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/select_contest.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/settings.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lib/versiontest.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/logwindow.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/lookupservice.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/__init__.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_ww_rtty.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/cwt.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/darc_xmas.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/k1usn_sst.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/lz-dx.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/naqp_rtty.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/raem.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/weekly_rtty.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/radio.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/test.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/vfo.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm/voice_keying.py +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/SOURCES.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-24.11.23 → not1mm-24.11.24.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.24.1
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
@@ -57,7 +57,7 @@ Requires-Dist: Levenshtein
|
|
57
57
|
- [Data and RTTY](#data-and-rtty)
|
58
58
|
- [Other not so supported contests](#other-not-so-supported-contests)
|
59
59
|
- [Our Code Contributors ✨](#our-code-contributors-)
|
60
|
-
- [List of should be working contests
|
60
|
+
- [List of should be working contests](#list-of-should-be-working-contests)
|
61
61
|
- [Recent Changes (Polishing the Turd)](#recent-changes-polishing-the-turd)
|
62
62
|
- [Flatpak](#flatpak)
|
63
63
|
- [Installation](#installation)
|
@@ -203,41 +203,43 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
203
203
|
<img src="https://contrib.rocks/image?repo=mbridak/not1mm" alt="Avatar icons for code contributors." />
|
204
204
|
</a>
|
205
205
|
|
206
|
-
## List of should be working contests
|
206
|
+
## List of should be working contests
|
207
207
|
|
208
|
-
-
|
208
|
+
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
209
209
|
- 10 10 Fall CW
|
210
210
|
- 10 10 Spring CW
|
211
211
|
- 10 10 Summer Phone
|
212
212
|
- 10 10 Winter Phone
|
213
213
|
- ARRL 10M
|
214
|
-
-
|
215
|
-
-
|
216
|
-
-
|
214
|
+
- ARRL DX CW, SSB
|
215
|
+
- ARRL Field Day
|
216
|
+
- ARRL Sweepstakes CW, SSB
|
217
217
|
- ARRL VHF January, June, September
|
218
218
|
- CQ 160 CW, SSB
|
219
|
-
-
|
220
|
-
-
|
221
|
-
-
|
222
|
-
-
|
223
|
-
-
|
219
|
+
- CQ WPX CW, RTTY, SSB
|
220
|
+
- CQ World Wide CW, RTTY, SSB
|
221
|
+
- CWOps CWT
|
222
|
+
- DARC Xmas
|
223
|
+
- Helvetia
|
224
224
|
- IARU Fieldday R1 CW, SSB
|
225
225
|
- IARU HF
|
226
|
-
-
|
227
|
-
-
|
228
|
-
-
|
229
|
-
-
|
230
|
-
-
|
231
|
-
-
|
232
|
-
-
|
233
|
-
-
|
234
|
-
-
|
235
|
-
-
|
236
|
-
-
|
237
|
-
-
|
226
|
+
- ICWC MST
|
227
|
+
- Japan International DX CW, SSB
|
228
|
+
- K1USN Slow Speed Test
|
229
|
+
- LZ DX
|
230
|
+
- NAQP CW, RTTY, SSB
|
231
|
+
- Phone Weekly Test
|
232
|
+
- RAEM
|
233
|
+
- RAC Canada Day
|
234
|
+
- REF CW, SSB
|
235
|
+
- Stew Perry Topband
|
236
|
+
- Weekly RTTY
|
237
|
+
- Winter Field Day
|
238
238
|
|
239
239
|
## Recent Changes (Polishing the Turd)
|
240
240
|
|
241
|
+
- [24-11-24-1] Add ESM to CQ160, ARRL VHF, ARRL 10M, 10 10 contests.
|
242
|
+
- [24-11-24] Added ESM to IARU HF and FieldDay.
|
241
243
|
- [24-11-23] Made macros per contest.
|
242
244
|
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
243
245
|
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
@@ -26,7 +26,7 @@
|
|
26
26
|
- [Data and RTTY](#data-and-rtty)
|
27
27
|
- [Other not so supported contests](#other-not-so-supported-contests)
|
28
28
|
- [Our Code Contributors ✨](#our-code-contributors-)
|
29
|
-
- [List of should be working contests
|
29
|
+
- [List of should be working contests](#list-of-should-be-working-contests)
|
30
30
|
- [Recent Changes (Polishing the Turd)](#recent-changes-polishing-the-turd)
|
31
31
|
- [Flatpak](#flatpak)
|
32
32
|
- [Installation](#installation)
|
@@ -172,41 +172,43 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
172
172
|
<img src="https://contrib.rocks/image?repo=mbridak/not1mm" alt="Avatar icons for code contributors." />
|
173
173
|
</a>
|
174
174
|
|
175
|
-
## List of should be working contests
|
175
|
+
## List of should be working contests
|
176
176
|
|
177
|
-
-
|
177
|
+
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
178
178
|
- 10 10 Fall CW
|
179
179
|
- 10 10 Spring CW
|
180
180
|
- 10 10 Summer Phone
|
181
181
|
- 10 10 Winter Phone
|
182
182
|
- ARRL 10M
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
183
|
+
- ARRL DX CW, SSB
|
184
|
+
- ARRL Field Day
|
185
|
+
- ARRL Sweepstakes CW, SSB
|
186
186
|
- ARRL VHF January, June, September
|
187
187
|
- CQ 160 CW, SSB
|
188
|
-
-
|
189
|
-
-
|
190
|
-
-
|
191
|
-
-
|
192
|
-
-
|
188
|
+
- CQ WPX CW, RTTY, SSB
|
189
|
+
- CQ World Wide CW, RTTY, SSB
|
190
|
+
- CWOps CWT
|
191
|
+
- DARC Xmas
|
192
|
+
- Helvetia
|
193
193
|
- IARU Fieldday R1 CW, SSB
|
194
194
|
- IARU HF
|
195
|
-
-
|
196
|
-
-
|
197
|
-
-
|
198
|
-
-
|
199
|
-
-
|
200
|
-
-
|
201
|
-
-
|
202
|
-
-
|
203
|
-
-
|
204
|
-
-
|
205
|
-
-
|
206
|
-
-
|
195
|
+
- ICWC MST
|
196
|
+
- Japan International DX CW, SSB
|
197
|
+
- K1USN Slow Speed Test
|
198
|
+
- LZ DX
|
199
|
+
- NAQP CW, RTTY, SSB
|
200
|
+
- Phone Weekly Test
|
201
|
+
- RAEM
|
202
|
+
- RAC Canada Day
|
203
|
+
- REF CW, SSB
|
204
|
+
- Stew Perry Topband
|
205
|
+
- Weekly RTTY
|
206
|
+
- Winter Field Day
|
207
207
|
|
208
208
|
## Recent Changes (Polishing the Turd)
|
209
209
|
|
210
|
+
- [24-11-24-1] Add ESM to CQ160, ARRL VHF, ARRL 10M, 10 10 contests.
|
211
|
+
- [24-11-24] Added ESM to IARU HF and FieldDay.
|
210
212
|
- [24-11-23] Made macros per contest.
|
211
213
|
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
212
214
|
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
@@ -359,3 +359,94 @@ def cabrillo(self, file_encoding):
|
|
359
359
|
|
360
360
|
def recalculate_mults(self):
|
361
361
|
"""Recalculates multipliers after change in logged qso."""
|
362
|
+
|
363
|
+
|
364
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
365
|
+
"""ESM State Machine"""
|
366
|
+
|
367
|
+
# self.pref["run_state"]
|
368
|
+
|
369
|
+
# -----===== Assigned F-Keys =====-----
|
370
|
+
# self.esm_dict["CQ"]
|
371
|
+
# self.esm_dict["EXCH"]
|
372
|
+
# self.esm_dict["QRZ"]
|
373
|
+
# self.esm_dict["AGN"]
|
374
|
+
# self.esm_dict["HISCALL"]
|
375
|
+
# self.esm_dict["MYCALL"]
|
376
|
+
# self.esm_dict["QSOB4"]
|
377
|
+
|
378
|
+
# ----==== text fields ====----
|
379
|
+
# self.callsign
|
380
|
+
# self.sent
|
381
|
+
# self.receive
|
382
|
+
# self.other_1
|
383
|
+
# self.other_2
|
384
|
+
|
385
|
+
if new_focused_widget is not None:
|
386
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
387
|
+
|
388
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
389
|
+
|
390
|
+
for a_button in [
|
391
|
+
self.esm_dict["CQ"],
|
392
|
+
self.esm_dict["EXCH"],
|
393
|
+
self.esm_dict["QRZ"],
|
394
|
+
self.esm_dict["AGN"],
|
395
|
+
self.esm_dict["HISCALL"],
|
396
|
+
self.esm_dict["MYCALL"],
|
397
|
+
self.esm_dict["QSOB4"],
|
398
|
+
]:
|
399
|
+
if a_button is not None:
|
400
|
+
self.restore_button_color(a_button)
|
401
|
+
|
402
|
+
buttons_to_send = []
|
403
|
+
|
404
|
+
if self.pref.get("run_state"):
|
405
|
+
if self.current_widget == "callsign":
|
406
|
+
if len(self.callsign.text()) < 3:
|
407
|
+
self.make_button_green(self.esm_dict["CQ"])
|
408
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
409
|
+
elif len(self.callsign.text()) > 2:
|
410
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
411
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
412
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
413
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
414
|
+
|
415
|
+
elif self.current_widget in ["other_2"]:
|
416
|
+
if self.other_2.text() == "":
|
417
|
+
self.make_button_green(self.esm_dict["AGN"])
|
418
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
419
|
+
else:
|
420
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
421
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
422
|
+
buttons_to_send.append("LOGIT")
|
423
|
+
|
424
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
425
|
+
for button in buttons_to_send:
|
426
|
+
if button:
|
427
|
+
if button == "LOGIT":
|
428
|
+
self.save_contact()
|
429
|
+
continue
|
430
|
+
self.process_function_key(button)
|
431
|
+
else:
|
432
|
+
if self.current_widget == "callsign":
|
433
|
+
if len(self.callsign.text()) > 2:
|
434
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
435
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
436
|
+
|
437
|
+
elif self.current_widget in ["other_2"]:
|
438
|
+
if self.other_2.text() == "":
|
439
|
+
self.make_button_green(self.esm_dict["AGN"])
|
440
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
441
|
+
else:
|
442
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
443
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
444
|
+
buttons_to_send.append("LOGIT")
|
445
|
+
|
446
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
447
|
+
for button in buttons_to_send:
|
448
|
+
if button:
|
449
|
+
if button == "LOGIT":
|
450
|
+
self.save_contact()
|
451
|
+
continue
|
452
|
+
self.process_function_key(button)
|
@@ -358,3 +358,94 @@ def cabrillo(self, file_encoding):
|
|
358
358
|
|
359
359
|
def recalculate_mults(self):
|
360
360
|
"""Recalculates multipliers after change in logged qso."""
|
361
|
+
|
362
|
+
|
363
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
364
|
+
"""ESM State Machine"""
|
365
|
+
|
366
|
+
# self.pref["run_state"]
|
367
|
+
|
368
|
+
# -----===== Assigned F-Keys =====-----
|
369
|
+
# self.esm_dict["CQ"]
|
370
|
+
# self.esm_dict["EXCH"]
|
371
|
+
# self.esm_dict["QRZ"]
|
372
|
+
# self.esm_dict["AGN"]
|
373
|
+
# self.esm_dict["HISCALL"]
|
374
|
+
# self.esm_dict["MYCALL"]
|
375
|
+
# self.esm_dict["QSOB4"]
|
376
|
+
|
377
|
+
# ----==== text fields ====----
|
378
|
+
# self.callsign
|
379
|
+
# self.sent
|
380
|
+
# self.receive
|
381
|
+
# self.other_1
|
382
|
+
# self.other_2
|
383
|
+
|
384
|
+
if new_focused_widget is not None:
|
385
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
386
|
+
|
387
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
388
|
+
|
389
|
+
for a_button in [
|
390
|
+
self.esm_dict["CQ"],
|
391
|
+
self.esm_dict["EXCH"],
|
392
|
+
self.esm_dict["QRZ"],
|
393
|
+
self.esm_dict["AGN"],
|
394
|
+
self.esm_dict["HISCALL"],
|
395
|
+
self.esm_dict["MYCALL"],
|
396
|
+
self.esm_dict["QSOB4"],
|
397
|
+
]:
|
398
|
+
if a_button is not None:
|
399
|
+
self.restore_button_color(a_button)
|
400
|
+
|
401
|
+
buttons_to_send = []
|
402
|
+
|
403
|
+
if self.pref.get("run_state"):
|
404
|
+
if self.current_widget == "callsign":
|
405
|
+
if len(self.callsign.text()) < 3:
|
406
|
+
self.make_button_green(self.esm_dict["CQ"])
|
407
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
408
|
+
elif len(self.callsign.text()) > 2:
|
409
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
410
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
411
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
412
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
413
|
+
|
414
|
+
elif self.current_widget in ["other_2"]:
|
415
|
+
if self.other_2.text() == "":
|
416
|
+
self.make_button_green(self.esm_dict["AGN"])
|
417
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
418
|
+
else:
|
419
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
420
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
421
|
+
buttons_to_send.append("LOGIT")
|
422
|
+
|
423
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
424
|
+
for button in buttons_to_send:
|
425
|
+
if button:
|
426
|
+
if button == "LOGIT":
|
427
|
+
self.save_contact()
|
428
|
+
continue
|
429
|
+
self.process_function_key(button)
|
430
|
+
else:
|
431
|
+
if self.current_widget == "callsign":
|
432
|
+
if len(self.callsign.text()) > 2:
|
433
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
434
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
435
|
+
|
436
|
+
elif self.current_widget in ["other_2"]:
|
437
|
+
if self.other_2.text() == "":
|
438
|
+
self.make_button_green(self.esm_dict["AGN"])
|
439
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
440
|
+
else:
|
441
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
442
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
443
|
+
buttons_to_send.append("LOGIT")
|
444
|
+
|
445
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
446
|
+
for button in buttons_to_send:
|
447
|
+
if button:
|
448
|
+
if button == "LOGIT":
|
449
|
+
self.save_contact()
|
450
|
+
continue
|
451
|
+
self.process_function_key(button)
|
@@ -362,3 +362,94 @@ def cabrillo(self, file_encoding):
|
|
362
362
|
|
363
363
|
def recalculate_mults(self):
|
364
364
|
"""Recalculates multipliers after change in logged qso."""
|
365
|
+
|
366
|
+
|
367
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
368
|
+
"""ESM State Machine"""
|
369
|
+
|
370
|
+
# self.pref["run_state"]
|
371
|
+
|
372
|
+
# -----===== Assigned F-Keys =====-----
|
373
|
+
# self.esm_dict["CQ"]
|
374
|
+
# self.esm_dict["EXCH"]
|
375
|
+
# self.esm_dict["QRZ"]
|
376
|
+
# self.esm_dict["AGN"]
|
377
|
+
# self.esm_dict["HISCALL"]
|
378
|
+
# self.esm_dict["MYCALL"]
|
379
|
+
# self.esm_dict["QSOB4"]
|
380
|
+
|
381
|
+
# ----==== text fields ====----
|
382
|
+
# self.callsign
|
383
|
+
# self.sent
|
384
|
+
# self.receive
|
385
|
+
# self.other_1
|
386
|
+
# self.other_2
|
387
|
+
|
388
|
+
if new_focused_widget is not None:
|
389
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
390
|
+
|
391
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
392
|
+
|
393
|
+
for a_button in [
|
394
|
+
self.esm_dict["CQ"],
|
395
|
+
self.esm_dict["EXCH"],
|
396
|
+
self.esm_dict["QRZ"],
|
397
|
+
self.esm_dict["AGN"],
|
398
|
+
self.esm_dict["HISCALL"],
|
399
|
+
self.esm_dict["MYCALL"],
|
400
|
+
self.esm_dict["QSOB4"],
|
401
|
+
]:
|
402
|
+
if a_button is not None:
|
403
|
+
self.restore_button_color(a_button)
|
404
|
+
|
405
|
+
buttons_to_send = []
|
406
|
+
|
407
|
+
if self.pref.get("run_state"):
|
408
|
+
if self.current_widget == "callsign":
|
409
|
+
if len(self.callsign.text()) < 3:
|
410
|
+
self.make_button_green(self.esm_dict["CQ"])
|
411
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
412
|
+
elif len(self.callsign.text()) > 2:
|
413
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
414
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
415
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
416
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
417
|
+
|
418
|
+
elif self.current_widget in ["other_2"]:
|
419
|
+
if self.other_2.text() == "":
|
420
|
+
self.make_button_green(self.esm_dict["AGN"])
|
421
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
422
|
+
else:
|
423
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
424
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
425
|
+
buttons_to_send.append("LOGIT")
|
426
|
+
|
427
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
428
|
+
for button in buttons_to_send:
|
429
|
+
if button:
|
430
|
+
if button == "LOGIT":
|
431
|
+
self.save_contact()
|
432
|
+
continue
|
433
|
+
self.process_function_key(button)
|
434
|
+
else:
|
435
|
+
if self.current_widget == "callsign":
|
436
|
+
if len(self.callsign.text()) > 2:
|
437
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
438
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
439
|
+
|
440
|
+
elif self.current_widget in ["other_2"]:
|
441
|
+
if self.other_2.text() == "":
|
442
|
+
self.make_button_green(self.esm_dict["AGN"])
|
443
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
444
|
+
else:
|
445
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
446
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
447
|
+
buttons_to_send.append("LOGIT")
|
448
|
+
|
449
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
450
|
+
for button in buttons_to_send:
|
451
|
+
if button:
|
452
|
+
if button == "LOGIT":
|
453
|
+
self.save_contact()
|
454
|
+
continue
|
455
|
+
self.process_function_key(button)
|
@@ -360,3 +360,94 @@ def cabrillo(self, file_encoding):
|
|
360
360
|
|
361
361
|
def recalculate_mults(self):
|
362
362
|
"""Recalculates multipliers after change in logged qso."""
|
363
|
+
|
364
|
+
|
365
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
366
|
+
"""ESM State Machine"""
|
367
|
+
|
368
|
+
# self.pref["run_state"]
|
369
|
+
|
370
|
+
# -----===== Assigned F-Keys =====-----
|
371
|
+
# self.esm_dict["CQ"]
|
372
|
+
# self.esm_dict["EXCH"]
|
373
|
+
# self.esm_dict["QRZ"]
|
374
|
+
# self.esm_dict["AGN"]
|
375
|
+
# self.esm_dict["HISCALL"]
|
376
|
+
# self.esm_dict["MYCALL"]
|
377
|
+
# self.esm_dict["QSOB4"]
|
378
|
+
|
379
|
+
# ----==== text fields ====----
|
380
|
+
# self.callsign
|
381
|
+
# self.sent
|
382
|
+
# self.receive
|
383
|
+
# self.other_1
|
384
|
+
# self.other_2
|
385
|
+
|
386
|
+
if new_focused_widget is not None:
|
387
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
388
|
+
|
389
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
390
|
+
|
391
|
+
for a_button in [
|
392
|
+
self.esm_dict["CQ"],
|
393
|
+
self.esm_dict["EXCH"],
|
394
|
+
self.esm_dict["QRZ"],
|
395
|
+
self.esm_dict["AGN"],
|
396
|
+
self.esm_dict["HISCALL"],
|
397
|
+
self.esm_dict["MYCALL"],
|
398
|
+
self.esm_dict["QSOB4"],
|
399
|
+
]:
|
400
|
+
if a_button is not None:
|
401
|
+
self.restore_button_color(a_button)
|
402
|
+
|
403
|
+
buttons_to_send = []
|
404
|
+
|
405
|
+
if self.pref.get("run_state"):
|
406
|
+
if self.current_widget == "callsign":
|
407
|
+
if len(self.callsign.text()) < 3:
|
408
|
+
self.make_button_green(self.esm_dict["CQ"])
|
409
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
410
|
+
elif len(self.callsign.text()) > 2:
|
411
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
412
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
413
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
414
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
415
|
+
|
416
|
+
elif self.current_widget in ["other_2"]:
|
417
|
+
if self.other_2.text() == "":
|
418
|
+
self.make_button_green(self.esm_dict["AGN"])
|
419
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
420
|
+
else:
|
421
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
422
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
423
|
+
buttons_to_send.append("LOGIT")
|
424
|
+
|
425
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
426
|
+
for button in buttons_to_send:
|
427
|
+
if button:
|
428
|
+
if button == "LOGIT":
|
429
|
+
self.save_contact()
|
430
|
+
continue
|
431
|
+
self.process_function_key(button)
|
432
|
+
else:
|
433
|
+
if self.current_widget == "callsign":
|
434
|
+
if len(self.callsign.text()) > 2:
|
435
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
436
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
437
|
+
|
438
|
+
elif self.current_widget in ["other_2"]:
|
439
|
+
if self.other_2.text() == "":
|
440
|
+
self.make_button_green(self.esm_dict["AGN"])
|
441
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
442
|
+
else:
|
443
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
444
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
445
|
+
buttons_to_send.append("LOGIT")
|
446
|
+
|
447
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
448
|
+
for button in buttons_to_send:
|
449
|
+
if button:
|
450
|
+
if button == "LOGIT":
|
451
|
+
self.save_contact()
|
452
|
+
continue
|
453
|
+
self.process_function_key(button)
|
@@ -441,3 +441,113 @@ def cabrillo(self, file_encoding):
|
|
441
441
|
|
442
442
|
def recalculate_mults(self):
|
443
443
|
"""Recalculates multipliers after change in logged qso."""
|
444
|
+
|
445
|
+
|
446
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
447
|
+
"""ESM State Machine"""
|
448
|
+
|
449
|
+
# self.pref["run_state"]
|
450
|
+
|
451
|
+
# -----===== Assigned F-Keys =====-----
|
452
|
+
# self.esm_dict["CQ"]
|
453
|
+
# self.esm_dict["EXCH"]
|
454
|
+
# self.esm_dict["QRZ"]
|
455
|
+
# self.esm_dict["AGN"]
|
456
|
+
# self.esm_dict["HISCALL"]
|
457
|
+
# self.esm_dict["MYCALL"]
|
458
|
+
# self.esm_dict["QSOB4"]
|
459
|
+
|
460
|
+
# ----==== text fields ====----
|
461
|
+
# self.callsign
|
462
|
+
# self.sent
|
463
|
+
# self.receive
|
464
|
+
# self.other_1
|
465
|
+
# self.other_2
|
466
|
+
|
467
|
+
if new_focused_widget is not None:
|
468
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
469
|
+
|
470
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
471
|
+
|
472
|
+
for a_button in [
|
473
|
+
self.esm_dict["CQ"],
|
474
|
+
self.esm_dict["EXCH"],
|
475
|
+
self.esm_dict["QRZ"],
|
476
|
+
self.esm_dict["AGN"],
|
477
|
+
self.esm_dict["HISCALL"],
|
478
|
+
self.esm_dict["MYCALL"],
|
479
|
+
self.esm_dict["QSOB4"],
|
480
|
+
]:
|
481
|
+
if a_button is not None:
|
482
|
+
self.restore_button_color(a_button)
|
483
|
+
|
484
|
+
buttons_to_send = []
|
485
|
+
|
486
|
+
if self.pref.get("run_state"):
|
487
|
+
if self.current_widget == "callsign":
|
488
|
+
if len(self.callsign.text()) < 3:
|
489
|
+
self.make_button_green(self.esm_dict["CQ"])
|
490
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
491
|
+
elif len(self.callsign.text()) > 2:
|
492
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
493
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
494
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
495
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
496
|
+
|
497
|
+
elif self.current_widget in ["other_2"]:
|
498
|
+
if self.other_2.text() == "":
|
499
|
+
self.make_button_green(self.esm_dict["AGN"])
|
500
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
501
|
+
else:
|
502
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
503
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
504
|
+
buttons_to_send.append("LOGIT")
|
505
|
+
|
506
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
507
|
+
for button in buttons_to_send:
|
508
|
+
if button:
|
509
|
+
if button == "LOGIT":
|
510
|
+
self.save_contact()
|
511
|
+
continue
|
512
|
+
self.process_function_key(button)
|
513
|
+
else:
|
514
|
+
if self.current_widget == "callsign":
|
515
|
+
if len(self.callsign.text()) > 2:
|
516
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
517
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
518
|
+
|
519
|
+
elif self.current_widget in ["other_2"]:
|
520
|
+
if self.other_2.text() == "":
|
521
|
+
self.make_button_green(self.esm_dict["AGN"])
|
522
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
523
|
+
else:
|
524
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
525
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
526
|
+
buttons_to_send.append("LOGIT")
|
527
|
+
|
528
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
529
|
+
for button in buttons_to_send:
|
530
|
+
if button:
|
531
|
+
if button == "LOGIT":
|
532
|
+
self.save_contact()
|
533
|
+
continue
|
534
|
+
self.process_function_key(button)
|
535
|
+
|
536
|
+
|
537
|
+
def populate_history_info_line(self):
|
538
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
539
|
+
if result:
|
540
|
+
self.history_info.setText(
|
541
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
|
542
|
+
)
|
543
|
+
else:
|
544
|
+
self.history_info.setText("")
|
545
|
+
|
546
|
+
|
547
|
+
def check_call_history(self):
|
548
|
+
""""""
|
549
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
550
|
+
if result:
|
551
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
552
|
+
if self.other_2.text() == "":
|
553
|
+
self.other_2.setText(f"{result.get('State', '')}")
|