not1mm 25.3.10__tar.gz → 25.3.17__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.10 → not1mm-25.3.17}/PKG-INFO +14 -3
- {not1mm-25.3.10 → not1mm-25.3.17}/README.md +13 -2
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/new_contest.ui +5 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/plugin_common.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/version.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/10_10_fall_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/10_10_spring_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/10_10_summer_phone.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/10_10_winter_phone.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_10m.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_160m.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_dx_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_dx_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_field_day.py +22 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_rtty_ru.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_ss_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_ss_phone.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_vhf_jan.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_vhf_jun.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/arrl_vhf_sep.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/canada_day.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_160_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_160_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_wpx_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_wpx_rtty.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_wpx_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_ww_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_ww_rtty.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cq_ww_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/cwt.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/darc_xmas.py +1 -1
- not1mm-25.3.17/not1mm/plugins/ea_rtty.py +740 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/helvetia.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/iaru_fieldday_r1_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/iaru_fieldday_r1_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/iaru_hf.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/icwc_mst.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/jidx_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/jidx_ph.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/k1usn_sst.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/labre_rs_digi.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/lz-dx.py +2 -2
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/naqp_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/naqp_rtty.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/naqp_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/phone_weekly_test.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/raem.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/ref_cw.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/ref_ssb.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/stew_perry_topband.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/weekly_rtty.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/winter_field_day.py +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/PKG-INFO +14 -3
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/SOURCES.txt +1 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/pyproject.toml +1 -1
- {not1mm-25.3.10 → not1mm-25.3.17}/LICENSE +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/__init__.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/__main__.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/bandmap.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/checkwindow.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/MASTER.SCP +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/about.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/alpha bravo charlie delta.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/bandmap.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/check.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/checkwindow.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/configuration.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/contests.sql +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/cty.json +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/cwmacros.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/donors.html +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/editcontact.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/editmacro.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/greendot.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/k6gte-not1mm.desktop +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/k6gte.not1mm-128.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/k6gte.not1mm-32.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/k6gte.not1mm-64.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/logwindow.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/logwindowx.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/main.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/not1mm.html +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/opon.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/0.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/1.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/2.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/3.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/4.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/5.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/6.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/7.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/73.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/8.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/9.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/a.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/again.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/b.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/c.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/contest.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/cq.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/cq2.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/d.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/e.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/f.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/g.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/h.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/i.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/j.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/k.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/k6gte.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/l.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/m.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/mynumber.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/n.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/nil.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/o.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/p.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/q.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/r.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/roger.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/s.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/space.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/t.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/thankyou.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/u.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/v.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/w.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/x.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/y.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/yourcall.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/phonetics/z.wav +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/pickcontest.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/radio_green.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/radio_grey.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/radio_red.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/ratewindow.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/reddot.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/rttymacros.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/settings.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/splash.png +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/ssbmacros.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/data/vfo.ui +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/fsutils.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/__init__.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/about.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/cat_interface.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/cwinterface.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/database.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/edit_contact.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/edit_macro.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/edit_opon.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/edit_station.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/fldigi_sendstring.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/ft8_watcher.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/ham_utility.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/lookup.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/multicast.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/n1mm.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/new_contest.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/select_contest.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/settings.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/super_check_partial.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lib/versiontest.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/logwindow.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/lookupservice.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/__init__.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/general_logging.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/plugins/randomgram.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/radio.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/ratewindow.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/rtc_service.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/test.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/vfo.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm/voice_keying.py +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/dependency_links.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/entry_points.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/requires.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/not1mm.egg-info/top_level.txt +0 -0
- {not1mm-25.3.10 → not1mm-25.3.17}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.3.
|
3
|
+
Version: 25.3.17
|
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
|
@@ -133,11 +133,13 @@ Requires-Dist: Levenshtein
|
|
133
133
|
- [If no exchange entered send AGN](#if-no-exchange-entered-send-agn)
|
134
134
|
- [With exchange entered, send your exchange and log it](#with-exchange-entered-send-your-exchange-and-log-it)
|
135
135
|
- [Call History Files](#call-history-files)
|
136
|
+
- [Creating your own Call History files](#creating-your-own-call-history-files)
|
136
137
|
- [Contest specific notes](#contest-specific-notes)
|
137
138
|
- [ARRL Sweekstakes](#arrl-sweekstakes)
|
138
139
|
- [The exchange parser](#the-exchange-parser)
|
139
140
|
- [The exchange](#the-exchange)
|
140
141
|
- [RAEM](#raem)
|
142
|
+
- [RandomGram](#randomgram)
|
141
143
|
|
142
144
|
## What and Why is Not1MM
|
143
145
|
|
@@ -240,6 +242,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
240
242
|
|
241
243
|
## Recent Changes
|
242
244
|
|
245
|
+
- [25-3-17] Add EA RTTY contest.
|
246
|
+
- [25-3-14] Add call history support to ARR Field Day.
|
243
247
|
- [25-3-10] Slight change to adif header. Slight change to CAT status icon state.
|
244
248
|
- [25-3-5] Added checks for blank/comment lines in the macros
|
245
249
|
- [25-3-2] Added call history support to ARRL DX, just in time for it to be over.
|
@@ -920,13 +924,16 @@ QRZ (for Run) or Exchange (for S&P) is sent.
|
|
920
924
|
|
921
925
|
## Call History Files
|
922
926
|
|
923
|
-
|
924
|
-
go to `FILE -> Configuration Settings`
|
927
|
+
To use Call History files, go to `FILE -> Configuration Settings`
|
925
928
|
|
926
929
|

|
927
930
|
|
928
931
|
Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
|
929
932
|
|
933
|
+
### Creating your own Call History files
|
934
|
+
|
935
|
+
You can use [adif2callhistory](https://github.com/mbridak/adif2callhistory) to generate your own call history file from your ADIF files. You can use a list of call history keys used for each contest [here](https://github.com/mbridak/not1mm/blob/master/call_history_keys.md).
|
936
|
+
|
930
937
|
An example file excerpt looks like:
|
931
938
|
|
932
939
|
```text
|
@@ -1011,3 +1018,7 @@ For the Run Exchange macro I'd put `{HISCALL} {SENTNR} {EXCH}`.
|
|
1011
1018
|
|
1012
1019
|
In the New/Edit Contest dialog, in the exchange field put just your Lat and Lon.
|
1013
1020
|
for me 33N117W. And in the exchange macro put `# {EXCH}`.
|
1021
|
+
|
1022
|
+
### RandomGram
|
1023
|
+
|
1024
|
+
This plugin was submitted by @alduhoo. It reads a rg.txt file if it exists in the user's home directory to populate the next group in the sent exchange field.
|
@@ -102,11 +102,13 @@
|
|
102
102
|
- [If no exchange entered send AGN](#if-no-exchange-entered-send-agn)
|
103
103
|
- [With exchange entered, send your exchange and log it](#with-exchange-entered-send-your-exchange-and-log-it)
|
104
104
|
- [Call History Files](#call-history-files)
|
105
|
+
- [Creating your own Call History files](#creating-your-own-call-history-files)
|
105
106
|
- [Contest specific notes](#contest-specific-notes)
|
106
107
|
- [ARRL Sweekstakes](#arrl-sweekstakes)
|
107
108
|
- [The exchange parser](#the-exchange-parser)
|
108
109
|
- [The exchange](#the-exchange)
|
109
110
|
- [RAEM](#raem)
|
111
|
+
- [RandomGram](#randomgram)
|
110
112
|
|
111
113
|
## What and Why is Not1MM
|
112
114
|
|
@@ -209,6 +211,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
209
211
|
|
210
212
|
## Recent Changes
|
211
213
|
|
214
|
+
- [25-3-17] Add EA RTTY contest.
|
215
|
+
- [25-3-14] Add call history support to ARR Field Day.
|
212
216
|
- [25-3-10] Slight change to adif header. Slight change to CAT status icon state.
|
213
217
|
- [25-3-5] Added checks for blank/comment lines in the macros
|
214
218
|
- [25-3-2] Added call history support to ARRL DX, just in time for it to be over.
|
@@ -889,13 +893,16 @@ QRZ (for Run) or Exchange (for S&P) is sent.
|
|
889
893
|
|
890
894
|
## Call History Files
|
891
895
|
|
892
|
-
|
893
|
-
go to `FILE -> Configuration Settings`
|
896
|
+
To use Call History files, go to `FILE -> Configuration Settings`
|
894
897
|
|
895
898
|

|
896
899
|
|
897
900
|
Place a check in the `Use Call History` box. Call history files are very specific to the contest you are working. Example files can be obtained from [n1mm's](https://n1mmwp.hamdocs.com/mmfiles/categories/callhistory/?) website. They have a searchbox so you can find the contest you are looking for. If you are feeling masocistic, you can craft your own. The general makeup of the file is a header defining the fields to be used, followed by by lines of comma separated data.
|
898
901
|
|
902
|
+
### Creating your own Call History files
|
903
|
+
|
904
|
+
You can use [adif2callhistory](https://github.com/mbridak/adif2callhistory) to generate your own call history file from your ADIF files. You can use a list of call history keys used for each contest [here](https://github.com/mbridak/not1mm/blob/master/call_history_keys.md).
|
905
|
+
|
899
906
|
An example file excerpt looks like:
|
900
907
|
|
901
908
|
```text
|
@@ -980,3 +987,7 @@ For the Run Exchange macro I'd put `{HISCALL} {SENTNR} {EXCH}`.
|
|
980
987
|
|
981
988
|
In the New/Edit Contest dialog, in the exchange field put just your Lat and Lon.
|
982
989
|
for me 33N117W. And in the exchange macro put `# {EXCH}`.
|
990
|
+
|
991
|
+
### RandomGram
|
992
|
+
|
993
|
+
This plugin was submitted by @alduhoo. It reads a rg.txt file if it exists in the user's home directory to populate the next group in the sent exchange field.
|
@@ -81,7 +81,7 @@ def gen_adif(self, cabrillo_name: str, contest_id=""):
|
|
81
81
|
)
|
82
82
|
log = self.database.fetch_all_contacts_asc()
|
83
83
|
try:
|
84
|
-
with open(filename, "w", encoding="utf-8") as file_descriptor:
|
84
|
+
with open(filename, "w", encoding="utf-8", newline="") as file_descriptor:
|
85
85
|
print("Not1MM ADIF export", end="\r\n", file=file_descriptor)
|
86
86
|
print("<ADIF_VER:5>2.2.0", end="\r\n", file=file_descriptor)
|
87
87
|
print("<EOH>", end="\r\n", file=file_descriptor)
|
@@ -182,7 +182,7 @@ def cabrillo(self, file_encoding):
|
|
182
182
|
logger.debug("%s", filename)
|
183
183
|
log = self.database.fetch_all_contacts_asc()
|
184
184
|
try:
|
185
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
185
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
186
186
|
output_cabrillo_line(
|
187
187
|
"START-OF-LOG: 3.0",
|
188
188
|
"\r\n",
|
@@ -181,7 +181,7 @@ def cabrillo(self, file_encoding):
|
|
181
181
|
logger.debug("%s", filename)
|
182
182
|
log = self.database.fetch_all_contacts_asc()
|
183
183
|
try:
|
184
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
184
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
185
185
|
output_cabrillo_line(
|
186
186
|
"START-OF-LOG: 3.0",
|
187
187
|
"\r\n",
|
@@ -185,7 +185,7 @@ def cabrillo(self, file_encoding):
|
|
185
185
|
logger.debug("%s", filename)
|
186
186
|
log = self.database.fetch_all_contacts_asc()
|
187
187
|
try:
|
188
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
188
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
189
189
|
output_cabrillo_line(
|
190
190
|
"START-OF-LOG: 3.0",
|
191
191
|
"\r\n",
|
@@ -183,7 +183,7 @@ def cabrillo(self, file_encoding):
|
|
183
183
|
logger.debug("%s", filename)
|
184
184
|
log = self.database.fetch_all_contacts_asc()
|
185
185
|
try:
|
186
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
186
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
187
187
|
output_cabrillo_line(
|
188
188
|
"START-OF-LOG: 3.0",
|
189
189
|
"\r\n",
|
@@ -267,7 +267,7 @@ def cabrillo(self, file_encoding):
|
|
267
267
|
logger.debug("%s", filename)
|
268
268
|
log = self.database.fetch_all_contacts_asc()
|
269
269
|
try:
|
270
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
270
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
271
271
|
output_cabrillo_line(
|
272
272
|
"START-OF-LOG: 3.0",
|
273
273
|
"\r\n",
|
@@ -275,7 +275,7 @@ def cabrillo(self, file_encoding):
|
|
275
275
|
logger.debug("%s", filename)
|
276
276
|
log = self.database.fetch_all_contacts_asc()
|
277
277
|
try:
|
278
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
278
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
279
279
|
output_cabrillo_line(
|
280
280
|
"START-OF-LOG: 3.0",
|
281
281
|
"\r\n",
|
@@ -211,7 +211,7 @@ def cabrillo(self, file_encoding):
|
|
211
211
|
logger.debug("%s", filename)
|
212
212
|
log = self.database.fetch_all_contacts_asc()
|
213
213
|
try:
|
214
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
214
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
215
215
|
output_cabrillo_line(
|
216
216
|
"START-OF-LOG: 3.0",
|
217
217
|
"\r\n",
|
@@ -211,7 +211,7 @@ def cabrillo(self, file_encoding):
|
|
211
211
|
logger.debug("%s", filename)
|
212
212
|
log = self.database.fetch_all_contacts_asc()
|
213
213
|
try:
|
214
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
214
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
215
215
|
output_cabrillo_line(
|
216
216
|
"START-OF-LOG: 3.0",
|
217
217
|
"\r\n",
|
@@ -165,7 +165,7 @@ def cabrillo(self, file_encoding):
|
|
165
165
|
logger.debug("%s", filename)
|
166
166
|
log = self.database.fetch_all_contacts_asc()
|
167
167
|
try:
|
168
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
168
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
169
169
|
output_cabrillo_line(
|
170
170
|
"START-OF-LOG: 3.0",
|
171
171
|
"\r\n",
|
@@ -526,3 +526,24 @@ def get_mults(self):
|
|
526
526
|
def just_points(self):
|
527
527
|
""""""
|
528
528
|
return get_points(self)
|
529
|
+
|
530
|
+
|
531
|
+
def populate_history_info_line(self):
|
532
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
533
|
+
if result:
|
534
|
+
self.history_info.setText(
|
535
|
+
f"{result.get('Call', '')}, {result.get('Exch1', '')}, {result.get('Sect', '')}, {result.get('UserText','...')}"
|
536
|
+
)
|
537
|
+
else:
|
538
|
+
self.history_info.setText("")
|
539
|
+
|
540
|
+
|
541
|
+
def check_call_history(self):
|
542
|
+
""""""
|
543
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
544
|
+
if result:
|
545
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
546
|
+
if self.other_1.text() == "":
|
547
|
+
self.other_1.setText(f"{result.get('Exch1', '')}")
|
548
|
+
if self.other_2.text() == "":
|
549
|
+
self.other_2.setText(f"{result.get('Sect', '')}")
|
@@ -235,7 +235,7 @@ def cabrillo(self, file_encoding):
|
|
235
235
|
logger.debug("%s", filename)
|
236
236
|
log = self.database.fetch_all_contacts_asc()
|
237
237
|
try:
|
238
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
238
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
239
239
|
output_cabrillo_line(
|
240
240
|
"START-OF-LOG: 3.0",
|
241
241
|
"\r\n",
|
@@ -210,7 +210,7 @@ def cabrillo(self, file_encoding):
|
|
210
210
|
logger.debug("%s", filename)
|
211
211
|
log = self.database.fetch_all_contacts_asc()
|
212
212
|
try:
|
213
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
213
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
214
214
|
output_cabrillo_line(
|
215
215
|
"START-OF-LOG: 3.0",
|
216
216
|
"\r\n",
|
@@ -191,7 +191,7 @@ def cabrillo(self, file_encoding):
|
|
191
191
|
logger.debug("%s", filename)
|
192
192
|
log = self.database.fetch_all_contacts_asc()
|
193
193
|
try:
|
194
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
194
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
195
195
|
output_cabrillo_line(
|
196
196
|
"START-OF-LOG: 3.0",
|
197
197
|
"\r\n",
|
@@ -241,7 +241,7 @@ def cabrillo(self, file_encoding):
|
|
241
241
|
logger.debug("%s", filename)
|
242
242
|
log = self.database.fetch_all_contacts_asc()
|
243
243
|
try:
|
244
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
244
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
245
245
|
output_cabrillo_line(
|
246
246
|
"START-OF-LOG: 3.0",
|
247
247
|
"\r\n",
|
@@ -209,7 +209,7 @@ def cabrillo(self, file_encoding):
|
|
209
209
|
logger.debug("%s", filename)
|
210
210
|
log = self.database.fetch_all_contacts_asc()
|
211
211
|
try:
|
212
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
212
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
213
213
|
output_cabrillo_line(
|
214
214
|
"START-OF-LOG: 3.0",
|
215
215
|
"\r\n",
|
@@ -209,7 +209,7 @@ def cabrillo(self, file_encoding):
|
|
209
209
|
logger.debug("%s", filename)
|
210
210
|
log = self.database.fetch_all_contacts_asc()
|
211
211
|
try:
|
212
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
212
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
213
213
|
output_cabrillo_line(
|
214
214
|
"START-OF-LOG: 3.0",
|
215
215
|
"\r\n",
|
@@ -232,7 +232,7 @@ def cabrillo(self, file_encoding):
|
|
232
232
|
logger.debug("%s", filename)
|
233
233
|
log = self.database.fetch_all_contacts_asc()
|
234
234
|
try:
|
235
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
235
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
236
236
|
output_cabrillo_line(
|
237
237
|
"START-OF-LOG: 3.0",
|
238
238
|
"\r\n",
|
@@ -220,7 +220,7 @@ def cabrillo(self, file_encoding):
|
|
220
220
|
logger.debug("%s", filename)
|
221
221
|
log = self.database.fetch_all_contacts_asc()
|
222
222
|
try:
|
223
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
223
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
224
224
|
output_cabrillo_line(
|
225
225
|
"START-OF-LOG: 3.0",
|
226
226
|
"\r\n",
|
@@ -220,7 +220,7 @@ def cabrillo(self, file_encoding):
|
|
220
220
|
logger.debug("%s", filename)
|
221
221
|
log = self.database.fetch_all_contacts_asc()
|
222
222
|
try:
|
223
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
223
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
224
224
|
output_cabrillo_line(
|
225
225
|
"START-OF-LOG: 3.0",
|
226
226
|
"\r\n",
|
@@ -253,7 +253,7 @@ def cabrillo(self, file_encoding):
|
|
253
253
|
logger.debug("%s", filename)
|
254
254
|
log = self.database.fetch_all_contacts_asc()
|
255
255
|
try:
|
256
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
256
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
257
257
|
output_cabrillo_line(
|
258
258
|
"START-OF-LOG: 3.0",
|
259
259
|
"\r\n",
|
@@ -252,7 +252,7 @@ def cabrillo(self, file_encoding):
|
|
252
252
|
logger.debug("%s", filename)
|
253
253
|
log = self.database.fetch_all_contacts_asc()
|
254
254
|
try:
|
255
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
255
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
256
256
|
output_cabrillo_line(
|
257
257
|
"START-OF-LOG: 3.0",
|
258
258
|
"\r\n",
|
@@ -216,7 +216,7 @@ def cabrillo(self, file_encoding):
|
|
216
216
|
logger.debug("%s", filename)
|
217
217
|
log = self.database.fetch_all_contacts_asc()
|
218
218
|
try:
|
219
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
219
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
220
220
|
output_cabrillo_line(
|
221
221
|
"START-OF-LOG: 3.0",
|
222
222
|
"\r\n",
|
@@ -243,7 +243,7 @@ def cabrillo(self, file_encoding):
|
|
243
243
|
logger.debug("%s", filename)
|
244
244
|
log = self.database.fetch_all_contacts_asc()
|
245
245
|
try:
|
246
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
246
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
247
247
|
output_cabrillo_line(
|
248
248
|
"START-OF-LOG: 3.0",
|
249
249
|
"\r\n",
|
@@ -246,7 +246,7 @@ def cabrillo(self, file_encoding):
|
|
246
246
|
logger.debug("%s", filename)
|
247
247
|
log = self.database.fetch_all_contacts_asc()
|
248
248
|
try:
|
249
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
249
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
250
250
|
output_cabrillo_line(
|
251
251
|
"START-OF-LOG: 3.0",
|
252
252
|
"\r\n",
|
@@ -233,7 +233,7 @@ def cabrillo(self, file_encoding):
|
|
233
233
|
logger.debug("%s", filename)
|
234
234
|
log = self.database.fetch_all_contacts_asc()
|
235
235
|
try:
|
236
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
236
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
237
237
|
output_cabrillo_line(
|
238
238
|
"START-OF-LOG: 3.0",
|
239
239
|
"\r\n",
|
@@ -210,7 +210,7 @@ def cabrillo(self, file_encoding):
|
|
210
210
|
logger.debug("%s", filename)
|
211
211
|
log = self.database.fetch_all_contacts_asc()
|
212
212
|
try:
|
213
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
213
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
214
214
|
output_cabrillo_line(
|
215
215
|
"START-OF-LOG: 3.0",
|
216
216
|
"\r\n",
|
@@ -237,7 +237,7 @@ def cabrillo(self, file_encoding):
|
|
237
237
|
logger.debug("%s", filename)
|
238
238
|
log = self.database.fetch_all_contacts_asc()
|
239
239
|
try:
|
240
|
-
with open(filename, "w", encoding=file_encoding) as file_descriptor:
|
240
|
+
with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
|
241
241
|
output_cabrillo_line(
|
242
242
|
"START-OF-LOG: 3.0",
|
243
243
|
"\r\n",
|