not1mm 24.11.18__py3-none-any.whl → 24.11.21__py3-none-any.whl
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/__main__.py +3 -1
- not1mm/data/donors.html +1 -0
- not1mm/lib/cat_interface.py +16 -1
- not1mm/lib/plugin_common.py +20 -1
- not1mm/lib/version.py +1 -1
- not1mm/plugins/10_10_fall_cw.py +12 -24
- not1mm/plugins/10_10_spring_cw.py +12 -24
- not1mm/plugins/10_10_summer_phone.py +12 -22
- not1mm/plugins/10_10_winter_phone.py +12 -24
- not1mm/plugins/arrl_10m.py +16 -29
- not1mm/plugins/arrl_dx_cw.py +11 -22
- not1mm/plugins/arrl_dx_ssb.py +11 -22
- not1mm/plugins/arrl_field_day.py +14 -22
- not1mm/plugins/arrl_rtty_ru.py +10 -22
- not1mm/plugins/arrl_ss_cw.py +14 -29
- not1mm/plugins/arrl_ss_phone.py +14 -29
- not1mm/plugins/arrl_vhf_jan.py +14 -29
- not1mm/plugins/arrl_vhf_jun.py +14 -29
- not1mm/plugins/arrl_vhf_sep.py +14 -29
- not1mm/plugins/canada_day.py +14 -29
- not1mm/plugins/cq_160_cw.py +10 -24
- not1mm/plugins/cq_160_ssb.py +10 -24
- not1mm/plugins/cq_wpx_cw.py +12 -25
- not1mm/plugins/cq_wpx_rtty.py +12 -25
- not1mm/plugins/cq_wpx_ssb.py +14 -29
- not1mm/plugins/cq_ww_cw.py +11 -22
- not1mm/plugins/cq_ww_rtty.py +12 -26
- not1mm/plugins/cq_ww_ssb.py +11 -22
- not1mm/plugins/cwt.py +12 -26
- not1mm/plugins/darc_xmas.py +15 -31
- not1mm/plugins/general_logging.py +125 -26
- not1mm/plugins/helvetia.py +15 -26
- not1mm/plugins/iaru_fieldday_r1_cw.py +12 -25
- not1mm/plugins/iaru_fieldday_r1_ssb.py +12 -25
- not1mm/plugins/iaru_hf.py +11 -22
- not1mm/plugins/icwc_mst.py +136 -40
- not1mm/plugins/jidx_cw.py +102 -23
- not1mm/plugins/jidx_ph.py +106 -29
- not1mm/plugins/k1usn_sst.py +10 -16
- not1mm/plugins/lz-dx.py +17 -28
- not1mm/plugins/naqp_cw.py +11 -17
- not1mm/plugins/naqp_rtty.py +11 -17
- not1mm/plugins/naqp_ssb.py +11 -17
- not1mm/plugins/phone_weekly_test.py +101 -16
- not1mm/plugins/raem.py +26 -25
- not1mm/plugins/ref_cw.py +17 -28
- not1mm/plugins/ref_ssb.py +32 -28
- not1mm/plugins/stew_perry_topband.py +102 -16
- not1mm/plugins/weekly_rtty.py +17 -16
- not1mm/plugins/winter_field_day.py +28 -24
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/METADATA +9 -8
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/RECORD +56 -56
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/WHEEL +1 -1
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/LICENSE +0 -0
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/entry_points.txt +0 -0
- {not1mm-24.11.18.dist-info → not1mm-24.11.21.dist-info}/top_level.txt +0 -0
not1mm/plugins/ref_cw.py
CHANGED
@@ -93,12 +93,10 @@ def interface(self):
|
|
93
93
|
self.field2.show()
|
94
94
|
self.field3.show()
|
95
95
|
self.field4.show()
|
96
|
-
|
97
|
-
|
98
|
-
self.
|
99
|
-
|
100
|
-
label.setText("Dep/Pfx/SN")
|
101
|
-
self.field4.setAccessibleName("Department, Prefix or SN")
|
96
|
+
self.other_label.setText("Sent")
|
97
|
+
self.other_1.setAccessibleName("Sent")
|
98
|
+
self.exch_label.setText("Dep/Pfx/SN")
|
99
|
+
self.other_2.setAccessibleName("Department, Prefix or SN")
|
102
100
|
|
103
101
|
|
104
102
|
def reset_label(self):
|
@@ -108,30 +106,22 @@ def reset_label(self):
|
|
108
106
|
def set_tab_next(self):
|
109
107
|
"""Set TAB Advances"""
|
110
108
|
self.tab_next = {
|
111
|
-
self.callsign: self.
|
112
|
-
self.
|
113
|
-
|
114
|
-
|
115
|
-
self.
|
116
|
-
QtWidgets.QLineEdit
|
117
|
-
),
|
118
|
-
self.field3.findChild(QtWidgets.QLineEdit): self.field4.findChild(
|
119
|
-
QtWidgets.QLineEdit
|
120
|
-
),
|
121
|
-
self.field4.findChild(QtWidgets.QLineEdit): self.callsign,
|
109
|
+
self.callsign: self.other_1,
|
110
|
+
self.sent: self.other_1,
|
111
|
+
self.receive: self.other_1,
|
112
|
+
self.other_1: self.other_2,
|
113
|
+
self.other_2: self.callsign,
|
122
114
|
}
|
123
115
|
|
124
116
|
|
125
117
|
def set_tab_prev(self):
|
126
118
|
"""Set TAB Advances"""
|
127
119
|
self.tab_prev = {
|
128
|
-
self.callsign: self.
|
129
|
-
self.
|
130
|
-
self.
|
131
|
-
self.
|
132
|
-
self.
|
133
|
-
QtWidgets.QLineEdit
|
134
|
-
),
|
120
|
+
self.callsign: self.other_2,
|
121
|
+
self.sent: self.callsign,
|
122
|
+
self.receive: self.callsign,
|
123
|
+
self.other_1: self.callsign,
|
124
|
+
self.other_2: self.other_1,
|
135
125
|
}
|
136
126
|
|
137
127
|
|
@@ -188,17 +178,16 @@ def predupe(self):
|
|
188
178
|
|
189
179
|
def prefill(self):
|
190
180
|
"""Fill SentNR"""
|
191
|
-
field = self.field3.findChild(QtWidgets.QLineEdit)
|
192
181
|
sent_sxchange_setting = self.contest_settings.get("SentExchange", "")
|
193
182
|
if sent_sxchange_setting.strip() == "#":
|
194
183
|
result = self.database.get_serial()
|
195
184
|
serial_nr = str(result.get("serial_nr", "1")).zfill(3)
|
196
185
|
if serial_nr == "None":
|
197
186
|
serial_nr = "001"
|
198
|
-
if len(
|
199
|
-
|
187
|
+
if len(self.other_1.text()) == 0:
|
188
|
+
self.other_1.setText(serial_nr)
|
200
189
|
else:
|
201
|
-
|
190
|
+
self.other_1.setText(sent_sxchange_setting)
|
202
191
|
|
203
192
|
|
204
193
|
def points(self):
|
not1mm/plugins/ref_ssb.py
CHANGED
@@ -39,6 +39,21 @@ Cabrillo name: REF-SSB
|
|
39
39
|
Cabrillo name aliases: REF
|
40
40
|
"""
|
41
41
|
|
42
|
+
# Label and field names
|
43
|
+
# callsign_label, callsign
|
44
|
+
# snt_label, sent
|
45
|
+
# rcv_label, receive
|
46
|
+
# other_label, other_1
|
47
|
+
# exch_label, other_2
|
48
|
+
|
49
|
+
# command button names
|
50
|
+
# esc_stop
|
51
|
+
# log_it
|
52
|
+
# mark
|
53
|
+
# spot_it
|
54
|
+
# wipe
|
55
|
+
|
56
|
+
|
42
57
|
import datetime
|
43
58
|
import logging
|
44
59
|
import platform
|
@@ -93,12 +108,10 @@ def interface(self):
|
|
93
108
|
self.field2.show()
|
94
109
|
self.field3.show()
|
95
110
|
self.field4.show()
|
96
|
-
|
97
|
-
|
98
|
-
self.
|
99
|
-
|
100
|
-
label.setText("Dep/Pfx/SN")
|
101
|
-
self.field4.setAccessibleName("Department, Prefix or SN")
|
111
|
+
self.other_label.setText("Sent")
|
112
|
+
self.other_1.setAccessibleName("Sent")
|
113
|
+
self.exch_label.setText("Dep/Pfx/SN")
|
114
|
+
self.other_2.setAccessibleName("Department, Prefix or SN")
|
102
115
|
|
103
116
|
|
104
117
|
def reset_label(self):
|
@@ -108,30 +121,22 @@ def reset_label(self):
|
|
108
121
|
def set_tab_next(self):
|
109
122
|
"""Set TAB Advances"""
|
110
123
|
self.tab_next = {
|
111
|
-
self.callsign: self.
|
112
|
-
self.
|
113
|
-
|
114
|
-
|
115
|
-
self.
|
116
|
-
QtWidgets.QLineEdit
|
117
|
-
),
|
118
|
-
self.field3.findChild(QtWidgets.QLineEdit): self.field4.findChild(
|
119
|
-
QtWidgets.QLineEdit
|
120
|
-
),
|
121
|
-
self.field4.findChild(QtWidgets.QLineEdit): self.callsign,
|
124
|
+
self.callsign: self.other_1,
|
125
|
+
self.sent: self.other_1,
|
126
|
+
self.receive: self.other_1,
|
127
|
+
self.other_1: self.other_2,
|
128
|
+
self.other_2: self.callsign,
|
122
129
|
}
|
123
130
|
|
124
131
|
|
125
132
|
def set_tab_prev(self):
|
126
133
|
"""Set TAB Advances"""
|
127
134
|
self.tab_prev = {
|
128
|
-
self.callsign: self.
|
129
|
-
self.
|
130
|
-
self.
|
131
|
-
self.
|
132
|
-
self.
|
133
|
-
QtWidgets.QLineEdit
|
134
|
-
),
|
135
|
+
self.callsign: self.other_2,
|
136
|
+
self.sent: self.callsign,
|
137
|
+
self.receive: self.callsign,
|
138
|
+
self.other_1: self.callsign,
|
139
|
+
self.other_2: self.other_1,
|
135
140
|
}
|
136
141
|
|
137
142
|
|
@@ -188,17 +193,16 @@ def predupe(self):
|
|
188
193
|
|
189
194
|
def prefill(self):
|
190
195
|
"""Fill SentNR"""
|
191
|
-
field = self.field3.findChild(QtWidgets.QLineEdit)
|
192
196
|
sent_sxchange_setting = self.contest_settings.get("SentExchange", "")
|
193
197
|
if sent_sxchange_setting.strip() == "#":
|
194
198
|
result = self.database.get_serial()
|
195
199
|
serial_nr = str(result.get("serial_nr", "1")).zfill(3)
|
196
200
|
if serial_nr == "None":
|
197
201
|
serial_nr = "001"
|
198
|
-
if len(
|
199
|
-
|
202
|
+
if len(self.other_1.text()) == 0:
|
203
|
+
self.other_1.setText(serial_nr)
|
200
204
|
else:
|
201
|
-
|
205
|
+
self.other_1.setText(sent_sxchange_setting)
|
202
206
|
|
203
207
|
|
204
208
|
def points(self):
|
@@ -75,10 +75,9 @@ def interface(self):
|
|
75
75
|
self.field3.show()
|
76
76
|
self.field4.hide()
|
77
77
|
self.snt_label.setText("SNT")
|
78
|
-
self.
|
79
|
-
|
80
|
-
|
81
|
-
self.field3.setAccessibleName("Grid")
|
78
|
+
self.sent.setAccessibleName("RST Sent")
|
79
|
+
self.other_label.setText("Grid")
|
80
|
+
self.other_1.setAccessibleName("Grid")
|
82
81
|
|
83
82
|
|
84
83
|
def reset_label(self):
|
@@ -88,24 +87,20 @@ def reset_label(self):
|
|
88
87
|
def set_tab_next(self):
|
89
88
|
"""Set TAB Advances"""
|
90
89
|
self.tab_next = {
|
91
|
-
self.callsign: self.
|
92
|
-
self.
|
93
|
-
|
94
|
-
|
95
|
-
self.field2.findChild(QtWidgets.QLineEdit): self.field3.findChild(
|
96
|
-
QtWidgets.QLineEdit
|
97
|
-
),
|
98
|
-
self.field3.findChild(QtWidgets.QLineEdit): self.callsign,
|
90
|
+
self.callsign: self.other_1,
|
91
|
+
self.sent: self.other_1,
|
92
|
+
self.receive: self.other_1,
|
93
|
+
self.other_1: self.callsign,
|
99
94
|
}
|
100
95
|
|
101
96
|
|
102
97
|
def set_tab_prev(self):
|
103
98
|
"""Set TAB Advances"""
|
104
99
|
self.tab_prev = {
|
105
|
-
self.callsign: self.
|
106
|
-
self.
|
107
|
-
self.
|
108
|
-
self.
|
100
|
+
self.callsign: self.other_1,
|
101
|
+
self.sent: self.callsign,
|
102
|
+
self.receive: self.callsign,
|
103
|
+
self.other_1: self.callsign,
|
109
104
|
}
|
110
105
|
|
111
106
|
|
@@ -383,3 +378,94 @@ def check_call_history(self):
|
|
383
378
|
self.history_info.setText(f"{result.get('UserText','')}")
|
384
379
|
if self.other_1.text() == "":
|
385
380
|
self.other_1.setText(f"{result.get('Loc1', '')}")
|
381
|
+
|
382
|
+
|
383
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
384
|
+
"""ESM State Machine"""
|
385
|
+
|
386
|
+
# self.pref["run_state"]
|
387
|
+
|
388
|
+
# -----===== Assigned F-Keys =====-----
|
389
|
+
# self.esm_dict["CQ"]
|
390
|
+
# self.esm_dict["EXCH"]
|
391
|
+
# self.esm_dict["QRZ"]
|
392
|
+
# self.esm_dict["AGN"]
|
393
|
+
# self.esm_dict["HISCALL"]
|
394
|
+
# self.esm_dict["MYCALL"]
|
395
|
+
# self.esm_dict["QSOB4"]
|
396
|
+
|
397
|
+
# ----==== text fields ====----
|
398
|
+
# self.callsign
|
399
|
+
# self.sent
|
400
|
+
# self.receive
|
401
|
+
# self.other_1
|
402
|
+
# self.other_2
|
403
|
+
|
404
|
+
if new_focused_widget is not None:
|
405
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
406
|
+
|
407
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
408
|
+
|
409
|
+
for a_button in [
|
410
|
+
self.esm_dict["CQ"],
|
411
|
+
self.esm_dict["EXCH"],
|
412
|
+
self.esm_dict["QRZ"],
|
413
|
+
self.esm_dict["AGN"],
|
414
|
+
self.esm_dict["HISCALL"],
|
415
|
+
self.esm_dict["MYCALL"],
|
416
|
+
self.esm_dict["QSOB4"],
|
417
|
+
]:
|
418
|
+
if a_button is not None:
|
419
|
+
self.restore_button_color(a_button)
|
420
|
+
|
421
|
+
buttons_to_send = []
|
422
|
+
|
423
|
+
if self.pref.get("run_state"):
|
424
|
+
if self.current_widget == "callsign":
|
425
|
+
if len(self.callsign.text()) < 3:
|
426
|
+
self.make_button_green(self.esm_dict["CQ"])
|
427
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
428
|
+
elif len(self.callsign.text()) > 2:
|
429
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
430
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
431
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
432
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
433
|
+
|
434
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
435
|
+
if self.other_1.text() == "":
|
436
|
+
self.make_button_green(self.esm_dict["AGN"])
|
437
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
438
|
+
else:
|
439
|
+
self.make_button_green(self.esm_dict["QRZ"])
|
440
|
+
buttons_to_send.append(self.esm_dict["QRZ"])
|
441
|
+
buttons_to_send.append("LOGIT")
|
442
|
+
|
443
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
444
|
+
for button in buttons_to_send:
|
445
|
+
if button:
|
446
|
+
if button == "LOGIT":
|
447
|
+
self.save_contact()
|
448
|
+
continue
|
449
|
+
self.process_function_key(button)
|
450
|
+
else:
|
451
|
+
if self.current_widget == "callsign":
|
452
|
+
if len(self.callsign.text()) > 2:
|
453
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
454
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
455
|
+
|
456
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
457
|
+
if self.other_1.text() == "":
|
458
|
+
self.make_button_green(self.esm_dict["AGN"])
|
459
|
+
buttons_to_send.append(self.esm_dict["AGN"])
|
460
|
+
else:
|
461
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
462
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
463
|
+
buttons_to_send.append("LOGIT")
|
464
|
+
|
465
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
466
|
+
for button in buttons_to_send:
|
467
|
+
if button:
|
468
|
+
if button == "LOGIT":
|
469
|
+
self.save_contact()
|
470
|
+
continue
|
471
|
+
self.process_function_key(button)
|
not1mm/plugins/weekly_rtty.py
CHANGED
@@ -18,6 +18,13 @@
|
|
18
18
|
# Mail logs to: (none)
|
19
19
|
# Find rules at: https://radiosport.world/wrt.html
|
20
20
|
|
21
|
+
# Label and field names
|
22
|
+
# callsign_label, callsign
|
23
|
+
# snt_label, sent
|
24
|
+
# rcv_label, receive
|
25
|
+
# other_label, other_1
|
26
|
+
# exch_label, other_2
|
27
|
+
|
21
28
|
import datetime
|
22
29
|
import logging
|
23
30
|
import platform
|
@@ -69,12 +76,10 @@ def interface(self):
|
|
69
76
|
self.field2.hide()
|
70
77
|
self.field3.show()
|
71
78
|
self.field4.show()
|
72
|
-
|
73
|
-
|
74
|
-
self.
|
75
|
-
|
76
|
-
spc.setText("SPC")
|
77
|
-
self.field4.setAccessibleName("SPC")
|
79
|
+
self.other_label.setText("Name")
|
80
|
+
self.other_1.setAccessibleName("Name")
|
81
|
+
self.exch_label.setText("SPC")
|
82
|
+
self.other_2.setAccessibleName("SPC")
|
78
83
|
|
79
84
|
|
80
85
|
def reset_label(self):
|
@@ -84,22 +89,18 @@ def reset_label(self):
|
|
84
89
|
def set_tab_next(self):
|
85
90
|
"""Set TAB Advances"""
|
86
91
|
self.tab_next = {
|
87
|
-
self.callsign: self.
|
88
|
-
self.
|
89
|
-
|
90
|
-
),
|
91
|
-
self.field4.findChild(QtWidgets.QLineEdit): self.callsign,
|
92
|
+
self.callsign: self.other_1,
|
93
|
+
self.other_1: self.other_2,
|
94
|
+
self.other_2: self.callsign,
|
92
95
|
}
|
93
96
|
|
94
97
|
|
95
98
|
def set_tab_prev(self):
|
96
99
|
"""Set TAB Advances"""
|
97
100
|
self.tab_prev = {
|
98
|
-
self.callsign: self.
|
99
|
-
self.
|
100
|
-
self.
|
101
|
-
QtWidgets.QLineEdit
|
102
|
-
),
|
101
|
+
self.callsign: self.other_2,
|
102
|
+
self.other_1: self.callsign,
|
103
|
+
self.other_2: self.other_1,
|
103
104
|
}
|
104
105
|
|
105
106
|
|
@@ -2,6 +2,20 @@
|
|
2
2
|
|
3
3
|
# pylint: disable=invalid-name, unused-argument, unused-variable, c-extension-no-member
|
4
4
|
|
5
|
+
# Label and field names
|
6
|
+
# callsign_label, callsign
|
7
|
+
# snt_label, sent
|
8
|
+
# rcv_label, receive
|
9
|
+
# other_label, other_1
|
10
|
+
# exch_label, other_2
|
11
|
+
|
12
|
+
# command button names
|
13
|
+
# esc_stop
|
14
|
+
# log_it
|
15
|
+
# mark
|
16
|
+
# spot_it
|
17
|
+
# wipe
|
18
|
+
|
5
19
|
import datetime
|
6
20
|
import logging
|
7
21
|
|
@@ -48,12 +62,10 @@ def interface(self):
|
|
48
62
|
self.field2.hide()
|
49
63
|
self.field3.show()
|
50
64
|
self.field4.show()
|
51
|
-
|
52
|
-
|
53
|
-
self.
|
54
|
-
|
55
|
-
label.setText("Section")
|
56
|
-
self.field4.setAccessibleName("Section")
|
65
|
+
self.other_label.setText("Class")
|
66
|
+
self.other_1.setAccessibleName("Class")
|
67
|
+
self.exch_label.setText("Section")
|
68
|
+
self.other_2.setAccessibleName("Section")
|
57
69
|
|
58
70
|
|
59
71
|
def reset_label(self):
|
@@ -63,30 +75,22 @@ def reset_label(self):
|
|
63
75
|
def set_tab_next(self):
|
64
76
|
"""Set TAB Advances"""
|
65
77
|
self.tab_next = {
|
66
|
-
self.callsign: self.
|
67
|
-
self.
|
68
|
-
|
69
|
-
|
70
|
-
self.
|
71
|
-
QtWidgets.QLineEdit
|
72
|
-
),
|
73
|
-
self.field3.findChild(QtWidgets.QLineEdit): self.field4.findChild(
|
74
|
-
QtWidgets.QLineEdit
|
75
|
-
),
|
76
|
-
self.field4.findChild(QtWidgets.QLineEdit): self.callsign,
|
78
|
+
self.callsign: self.other_1,
|
79
|
+
self.sent: self.other_1,
|
80
|
+
self.receive: self.other_1,
|
81
|
+
self.other_1: self.other_2,
|
82
|
+
self.other_2: self.callsign,
|
77
83
|
}
|
78
84
|
|
79
85
|
|
80
86
|
def set_tab_prev(self):
|
81
87
|
"""Set TAB Advances"""
|
82
88
|
self.tab_prev = {
|
83
|
-
self.callsign: self.
|
84
|
-
self.
|
85
|
-
self.
|
86
|
-
self.
|
87
|
-
self.
|
88
|
-
QtWidgets.QLineEdit
|
89
|
-
),
|
89
|
+
self.callsign: self.other_2,
|
90
|
+
self.sent: self.callsign,
|
91
|
+
self.receive: self.callsign,
|
92
|
+
self.other_1: self.callsign,
|
93
|
+
self.other_2: self.other_1,
|
90
94
|
}
|
91
95
|
|
92
96
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.11.
|
3
|
+
Version: 24.11.21
|
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
|
@@ -24,7 +24,7 @@ Requires-Dist: pyserial
|
|
24
24
|
Requires-Dist: sounddevice
|
25
25
|
Requires-Dist: soundfile
|
26
26
|
Requires-Dist: numpy
|
27
|
-
Requires-Dist: notctyparser
|
27
|
+
Requires-Dist: notctyparser>=23.6.21
|
28
28
|
Requires-Dist: rapidfuzz
|
29
29
|
Requires-Dist: appdata
|
30
30
|
Requires-Dist: Levenshtein
|
@@ -205,7 +205,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
205
205
|
|
206
206
|
## List of should be working contests, those in bold have ESM
|
207
207
|
|
208
|
-
- General Logging (There are better general loggers like QLog, KLog, CQRLog)
|
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
|
@@ -223,21 +223,23 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
223
223
|
- **Helvetia**
|
224
224
|
- IARU Fieldday R1 CW, SSB
|
225
225
|
- IARU HF
|
226
|
-
- ICWC MST
|
227
|
-
- Japan International DX CW, SSB
|
226
|
+
- **ICWC MST**
|
227
|
+
- **Japan International DX CW, SSB**
|
228
228
|
- **K1USN Slow Speed Test**
|
229
229
|
- **LZ DX**
|
230
230
|
- **NAQP CW, RTTY, SSB**
|
231
|
-
- Phone Weekly Test
|
231
|
+
- **Phone Weekly Test**
|
232
232
|
- **RAEM**
|
233
233
|
- **RAC Canada Day**
|
234
234
|
- **REF CW, SSB**
|
235
|
-
- Stew Perry Topband
|
235
|
+
- **Stew Perry Topband**
|
236
236
|
- **Weekly RTTY**
|
237
237
|
- **Winter Field Day**
|
238
238
|
|
239
239
|
## Recent Changes (Polishing the Turd)
|
240
240
|
|
241
|
+
- [24-11-21] Merged PR from alduhoo setting CW Speed via rigctld, Added ESM and call history support for General Logging.
|
242
|
+
- [24-11-19] Added ESM to Stew Perry, Phone Weekly, Medium Speed Test and JIDX.
|
241
243
|
- [24-11-18] Accepted PR from dg9vh for the DARC XMAS Contest.
|
242
244
|
- [24-11-17] Accepted PR from dg9vh for the LZ DX contest.
|
243
245
|
- [24-11-15] Made checkwindow font bigger and match a little more contrasted.
|
@@ -952,7 +954,6 @@ So if one were to go to `FILE -> LOAD CALL HISTORY FILE` and choose a downloaded
|
|
952
954
|
|
953
955
|
Where the Name and State would auto-populate and the UserText info apprears in the bottom left.
|
954
956
|
|
955
|
-
|
956
957
|
## Contest specific notes
|
957
958
|
|
958
959
|
I found it might be beneficial to have a section devoted to wierd quirky things
|