not1mm 25.3.19__tar.gz → 25.3.19.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-25.3.19 → not1mm-25.3.19.1}/PKG-INFO +3 -1
- {not1mm-25.3.19 → not1mm-25.3.19.1}/README.md +2 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/new_contest.ui +5 -0
- not1mm-25.3.19.1/not1mm/lib/version.py +3 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/darc_vhf.py +44 -44
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ea_majistad_cw.py +2 -2
- not1mm-25.3.19.1/not1mm/plugins/ea_majistad_ssb.py +727 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/PKG-INFO +3 -1
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/SOURCES.txt +1 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/pyproject.toml +1 -1
- not1mm-25.3.19/not1mm/lib/version.py +0 -3
- {not1mm-25.3.19 → not1mm-25.3.19.1}/LICENSE +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/__init__.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/__main__.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/bandmap.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/checkwindow.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/about.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/bandmap.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/check.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/configuration.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/contests.sql +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/cty.json +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/donors.html +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/editcontact.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/editmacro.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/greendot.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/logwindow.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/main.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/not1mm.html +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/opon.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_green.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_grey.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_red.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/ratewindow.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/reddot.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/settings.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/splash.png +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/vfo.ui +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/fsutils.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/__init__.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/about.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/database.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_station.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/lookup.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/multicast.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/n1mm.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/new_contest.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/plugin_common.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/select_contest.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/settings.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/versiontest.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/logwindow.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lookupservice.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/__init__.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_10m.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_160m.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_field_day.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/canada_day.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_160_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_160_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_rtty.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_rtty.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cwt.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/darc_xmas.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ea_rtty.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/helvetia.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_hf.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/icwc_mst.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/jidx_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/jidx_ph.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/k1usn_sst.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/labre_rs_digi.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/lz-dx.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_rtty.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/phone_weekly_test.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/raem.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/randomgram.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ref_cw.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ref_ssb.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/stew_perry_topband.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/weekly_rtty.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/winter_field_day.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/radio.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/ratewindow.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/rtc_service.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/test.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/vfo.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/voice_keying.py +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-25.3.19 → not1mm-25.3.19.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.3.19
|
3
|
+
Version: 25.3.19.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
|
@@ -224,6 +224,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
224
224
|
- DARC Xmas
|
225
225
|
- DARC VHF
|
226
226
|
- EA Majistad CW
|
227
|
+
- EA Majistad SSB
|
227
228
|
- EA RTTY
|
228
229
|
- Helvetia
|
229
230
|
- IARU Fieldday R1 CW, SSB
|
@@ -245,6 +246,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
245
246
|
|
246
247
|
## Recent Changes
|
247
248
|
|
249
|
+
- [25-3-19-1] Add EA His Maj King of Spain SSB.
|
248
250
|
- [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
|
249
251
|
- [25-3-18] Add His Maj King of Spain CW
|
250
252
|
- [25-3-17] Add EA RTTY contest.
|
@@ -193,6 +193,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
193
193
|
- DARC Xmas
|
194
194
|
- DARC VHF
|
195
195
|
- EA Majistad CW
|
196
|
+
- EA Majistad SSB
|
196
197
|
- EA RTTY
|
197
198
|
- Helvetia
|
198
199
|
- IARU Fieldday R1 CW, SSB
|
@@ -214,6 +215,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
214
215
|
|
215
216
|
## Recent Changes
|
216
217
|
|
218
|
+
- [25-3-19-1] Add EA His Maj King of Spain SSB.
|
217
219
|
- [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
|
218
220
|
- [25-3-18] Add His Maj King of Spain CW
|
219
221
|
- [25-3-17] Add EA RTTY contest.
|
@@ -12,7 +12,7 @@
|
|
12
12
|
# Classes: Single Op, Multi OP, Trainee
|
13
13
|
# Max power: 100 watts
|
14
14
|
# Exchange: RST + Locator
|
15
|
-
# Work stations: Once per band
|
15
|
+
# Work stations: Once per band
|
16
16
|
# Points: 1 point per km distance between stations
|
17
17
|
# Multipliers: no multis
|
18
18
|
# Score Calculation: Total score = sum of all points
|
@@ -49,11 +49,11 @@ columns = [
|
|
49
49
|
"SentNr",
|
50
50
|
"RcvNr",
|
51
51
|
"Exchange1",
|
52
|
-
"PTS"
|
52
|
+
"PTS",
|
53
53
|
]
|
54
54
|
cabrillo_name = "DARC VHF"
|
55
55
|
|
56
|
-
advance_on_space = [True, True, True,True, False]
|
56
|
+
advance_on_space = [True, True, True, True, False]
|
57
57
|
call_parse_exchange_on_edit = True
|
58
58
|
|
59
59
|
# 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
|
@@ -86,6 +86,7 @@ def reset_label(self):
|
|
86
86
|
"""reset label after field cleared"""
|
87
87
|
self.exch_label.setText("# Grid")
|
88
88
|
|
89
|
+
|
89
90
|
def set_tab_next(self):
|
90
91
|
"""Set TAB Advances"""
|
91
92
|
self.tab_next = {
|
@@ -106,20 +107,20 @@ def set_tab_prev(self):
|
|
106
107
|
self.other_1: self.receive,
|
107
108
|
self.other_2: self.other_1,
|
108
109
|
}
|
109
|
-
|
110
|
+
|
110
111
|
|
111
112
|
def set_contact_vars(self):
|
112
|
-
"""Contest Specific"""
|
113
|
+
"""Contest Specific"""
|
113
114
|
sn, grid = parse_exchange(self)
|
114
115
|
self.contact["SNT"] = self.sent.text()
|
115
116
|
self.contact["RCV"] = self.receive.text()
|
116
|
-
self.contact["SentNr"] = self.other_1.text()
|
117
|
-
self.contact["NR"]= sn
|
118
|
-
self.contact["Exchange1"] =grid
|
119
|
-
|
120
|
-
|
117
|
+
self.contact["SentNr"] = self.other_1.text()
|
118
|
+
self.contact["NR"] = sn
|
119
|
+
self.contact["Exchange1"] = grid
|
120
|
+
|
121
|
+
|
121
122
|
def parse_exchange(self):
|
122
|
-
"""Parse exchange..."""
|
123
|
+
"""Parse exchange..."""
|
123
124
|
exchange = self.other_2.text()
|
124
125
|
exchange = exchange.upper()
|
125
126
|
sn = ""
|
@@ -160,9 +161,9 @@ def points(self):
|
|
160
161
|
"""Calc point"""
|
161
162
|
_points = 1
|
162
163
|
_kilometers = 0
|
163
|
-
_their_grid = self.contact["Exchange1"]
|
164
|
+
_their_grid = self.contact["Exchange1"].upper()
|
164
165
|
_kilometers = distance(self.station.get("GridSquare", ""), _their_grid)
|
165
|
-
_points =
|
166
|
+
_points = max(1, _kilometers)
|
166
167
|
return _points
|
167
168
|
|
168
169
|
|
@@ -170,7 +171,6 @@ def show_mults(self, rtc=None):
|
|
170
171
|
"""Return display string for mults"""
|
171
172
|
|
172
173
|
|
173
|
-
|
174
174
|
def show_qso(self):
|
175
175
|
"""Return qso count"""
|
176
176
|
result = self.database.fetch_qso_count()
|
@@ -187,7 +187,7 @@ def calc_score(self):
|
|
187
187
|
if score is None:
|
188
188
|
score = "0"
|
189
189
|
contest_points = int(score)
|
190
|
-
return contest_points
|
190
|
+
return contest_points
|
191
191
|
return 0
|
192
192
|
|
193
193
|
|
@@ -197,8 +197,8 @@ def adif(self):
|
|
197
197
|
|
198
198
|
|
199
199
|
def edi(self):
|
200
|
-
"""
|
201
|
-
file_encoding="ascii"
|
200
|
+
"""Generate an edi file"""
|
201
|
+
file_encoding = "ascii"
|
202
202
|
logger.debug("******EDI*****")
|
203
203
|
logger.debug("Station: %s", f"{self.station}")
|
204
204
|
logger.debug("Contest: %s", f"{self.contest_settings}")
|
@@ -212,7 +212,7 @@ def edi(self):
|
|
212
212
|
logger.debug("%s", filename)
|
213
213
|
log = self.database.fetch_all_contacts_asc()
|
214
214
|
try:
|
215
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
215
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
216
216
|
output_cabrillo_line(
|
217
217
|
"[REG1TEST;1]",
|
218
218
|
"\r\n",
|
@@ -229,7 +229,7 @@ def edi(self):
|
|
229
229
|
loggedyear = value[0:4]
|
230
230
|
loggedmonth = value[5:7]
|
231
231
|
loggedday = value[8:10]
|
232
|
-
loggeddate = loggedyear + loggedmonth +loggedday
|
232
|
+
loggeddate = loggedyear + loggedmonth + loggedday
|
233
233
|
output_cabrillo_line(
|
234
234
|
f"TDate: {loggeddate}",
|
235
235
|
"\r\n",
|
@@ -271,8 +271,8 @@ def edi(self):
|
|
271
271
|
"\r\n",
|
272
272
|
file_descriptor,
|
273
273
|
file_encoding,
|
274
|
-
)
|
275
|
-
BandInMHz = bandinMHz(self.contest_settings.get(
|
274
|
+
)
|
275
|
+
BandInMHz = bandinMHz(self.contest_settings.get("BandCategory", ""))
|
276
276
|
output_cabrillo_line(
|
277
277
|
f"PBand:{BandInMHz}",
|
278
278
|
"\r\n",
|
@@ -320,7 +320,7 @@ def edi(self):
|
|
320
320
|
"\r\n",
|
321
321
|
file_descriptor,
|
322
322
|
file_encoding,
|
323
|
-
)
|
323
|
+
)
|
324
324
|
output_cabrillo_line(
|
325
325
|
f"RCoun:{self.station.get('Country', '')} ",
|
326
326
|
"\r\n",
|
@@ -350,7 +350,7 @@ def edi(self):
|
|
350
350
|
"\r\n",
|
351
351
|
file_descriptor,
|
352
352
|
file_encoding,
|
353
|
-
)
|
353
|
+
)
|
354
354
|
output_cabrillo_line(
|
355
355
|
f"STXEq:{self.station.get('stationtxrx', '')}",
|
356
356
|
"\r\n",
|
@@ -387,7 +387,7 @@ def edi(self):
|
|
387
387
|
"\r\n",
|
388
388
|
file_descriptor,
|
389
389
|
file_encoding,
|
390
|
-
)
|
390
|
+
)
|
391
391
|
output_cabrillo_line(
|
392
392
|
f"CQSOP:{calc_score(self)}",
|
393
393
|
"\r\n",
|
@@ -447,7 +447,7 @@ def edi(self):
|
|
447
447
|
"\r\n",
|
448
448
|
file_descriptor,
|
449
449
|
file_encoding,
|
450
|
-
)
|
450
|
+
)
|
451
451
|
output_cabrillo_line(
|
452
452
|
f"[QSORecords;{NumberOfQsos}]",
|
453
453
|
"\r\n",
|
@@ -457,25 +457,25 @@ def edi(self):
|
|
457
457
|
for contact in log:
|
458
458
|
the_date_and_time = contact.get("TS", "")
|
459
459
|
themode = contact.get("Mode", "")
|
460
|
-
modeCode=0
|
461
|
-
if themode == "LSB" or themode == "USB" or themode=="SSB":
|
460
|
+
modeCode = 0
|
461
|
+
if themode == "LSB" or themode == "USB" or themode == "SSB":
|
462
462
|
modeCode = 1
|
463
|
-
if themode == "CW" or themode == "CWL" or themode=="CWU":
|
463
|
+
if themode == "CW" or themode == "CWL" or themode == "CWU":
|
464
464
|
modeCode = 2
|
465
|
-
frequency = str(int(contact.get("Freq", "0"))).rjust(5)
|
465
|
+
frequency = str(int(contact.get("Freq", "0"))).rjust(5)
|
466
466
|
loggedyear = the_date_and_time[2:4]
|
467
467
|
loggedmonth = the_date_and_time[5:7]
|
468
468
|
loggedday = the_date_and_time[8:10]
|
469
|
-
loggeddate = loggedyear + loggedmonth +loggedday
|
469
|
+
loggeddate = loggedyear + loggedmonth + loggedday
|
470
470
|
loggedtime = the_date_and_time[11:13] + the_date_and_time[14:16]
|
471
|
-
NumberSend = contact.get(
|
472
|
-
NumberReceived = contact.get(
|
471
|
+
NumberSend = contact.get("SentNr", "")
|
472
|
+
NumberReceived = contact.get("NR", "")
|
473
473
|
output_cabrillo_line(
|
474
474
|
f"{loggeddate};"
|
475
475
|
f"{loggedtime};"
|
476
476
|
f"{contact.get('Call', '')};"
|
477
477
|
f"{modeCode};"
|
478
|
-
f"{str(contact.get('SNT', ''))};"
|
478
|
+
f"{str(contact.get('SNT', ''))};"
|
479
479
|
f"{NumberSend:03d};"
|
480
480
|
f"{str(contact.get('RCV', ''))};"
|
481
481
|
f"{NumberReceived:03d};"
|
@@ -495,14 +495,14 @@ def edi(self):
|
|
495
495
|
|
496
496
|
|
497
497
|
def bandinMHz(band):
|
498
|
-
switch={
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
return switch.get(band,"Invalid input {band}")
|
498
|
+
switch = {
|
499
|
+
"6M": "50 MHz",
|
500
|
+
"4M": "70 MHz",
|
501
|
+
"2M": "144 MHz",
|
502
|
+
"70cm": "432 MHz",
|
503
|
+
"23cm": "1,3 GHz",
|
504
|
+
}
|
505
|
+
return switch.get(band, "Invalid input {band}")
|
506
506
|
|
507
507
|
|
508
508
|
def output_cabrillo_line(line_to_output, ending, file_descriptor, file_encoding):
|
@@ -530,7 +530,7 @@ def cabrillo(self, file_encoding):
|
|
530
530
|
logger.debug("%s", filename)
|
531
531
|
log = self.database.fetch_all_contacts_asc()
|
532
532
|
try:
|
533
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
533
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
534
534
|
output_cabrillo_line(
|
535
535
|
"START-OF-LOG: 3.0",
|
536
536
|
"\r\n",
|
@@ -714,9 +714,9 @@ def recalculate_mults(self):
|
|
714
714
|
all_contacts = self.database.fetch_all_contacts_asc()
|
715
715
|
for contact in all_contacts:
|
716
716
|
# recalculate points
|
717
|
-
_their_grid = contact.get("Exchange1")
|
717
|
+
_their_grid = contact.get("Exchange1").upper()
|
718
718
|
_kilometers = distance(self.station.get("GridSquare", ""), _their_grid)
|
719
|
-
_points =
|
719
|
+
_points = max(1, _kilometers)
|
720
720
|
contact["Points"] = _points
|
721
721
|
|
722
722
|
self.database.change_contact(contact)
|
@@ -582,7 +582,7 @@ def populate_history_info_line(self):
|
|
582
582
|
result = self.database.fetch_call_history(self.callsign.text())
|
583
583
|
if result:
|
584
584
|
self.history_info.setText(
|
585
|
-
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('
|
585
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
|
586
586
|
)
|
587
587
|
else:
|
588
588
|
self.history_info.setText("")
|
@@ -594,7 +594,7 @@ def check_call_history(self):
|
|
594
594
|
if result:
|
595
595
|
self.history_info.setText(f"{result.get('UserText','')}")
|
596
596
|
if self.other_2.text() == "":
|
597
|
-
self.other_2.setText(f"{result.get('
|
597
|
+
self.other_2.setText(f"{result.get('Exch1', '')}")
|
598
598
|
|
599
599
|
|
600
600
|
def get_mults(self):
|