not1mm 24.12.5__py3-none-any.whl → 24.12.6__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 +24 -11
- not1mm/lib/plugin_common.py +2 -4
- not1mm/lib/version.py +1 -1
- not1mm/plugins/arrl_160m.py +98 -14
- not1mm/plugins/k1usn_sst.py +21 -1
- not1mm/rtc_service.py +7 -6
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/METADATA +5 -1
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/RECORD +12 -12
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/LICENSE +0 -0
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/WHEEL +0 -0
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/entry_points.txt +0 -0
- {not1mm-24.12.5.dist-info → not1mm-24.12.6.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -611,7 +611,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
611
611
|
logger.debug(f"{QT_VERSION_STR=} {PYQT_VERSION_STR=}")
|
612
612
|
x = PYQT_VERSION_STR.split(".")
|
613
613
|
old_Qt = True
|
614
|
-
# test if pyqt version is at least 6.
|
614
|
+
# test if pyqt version is at least 6.8
|
615
615
|
if len(x) == 1:
|
616
616
|
if int(x[0]) > 6:
|
617
617
|
old_Qt = False
|
@@ -619,7 +619,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
619
619
|
if int(x[0]) >= 6 and int(x[1]) >= 8:
|
620
620
|
old_Qt = False
|
621
621
|
|
622
|
-
# Featureset for wayland if pyqt is older that 6.
|
622
|
+
# Featureset for wayland if pyqt is older that 6.8
|
623
623
|
dockfeatures = (
|
624
624
|
QtWidgets.QDockWidget.DockWidgetFeature.DockWidgetClosable
|
625
625
|
| QtWidgets.QDockWidget.DockWidgetFeature.DockWidgetMovable
|
@@ -1606,6 +1606,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
1606
1606
|
self.set_window_title()
|
1607
1607
|
if self.rig_control:
|
1608
1608
|
self.rig_control.set_mode(self.radio_state.get("mode"))
|
1609
|
+
self.update_rtc_xml()
|
1609
1610
|
except ModuleNotFoundError:
|
1610
1611
|
self.pref["contest"] = 1
|
1611
1612
|
self.show_message_box("Contest plugin not found")
|
@@ -2464,10 +2465,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2464
2465
|
self.worked_list = self.database.get_calls_and_bands()
|
2465
2466
|
self.send_worked_list()
|
2466
2467
|
self.clearinputs()
|
2467
|
-
|
2468
|
-
if hasattr(self.contest, "online_score_xml"):
|
2469
|
-
if self.rtc_service is not None:
|
2470
|
-
self.rtc_service.xml = self.contest.online_score_xml(self)
|
2468
|
+
self.update_rtc_xml()
|
2471
2469
|
cmd = {}
|
2472
2470
|
cmd["cmd"] = "UPDATELOG"
|
2473
2471
|
if self.log_window:
|
@@ -2475,6 +2473,15 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2475
2473
|
if self.check_window:
|
2476
2474
|
self.check_window.msg_from_main(cmd)
|
2477
2475
|
|
2476
|
+
def update_rtc_xml(self):
|
2477
|
+
"""Update RTC XML"""
|
2478
|
+
if self.pref.get("send_rtc_scores", False):
|
2479
|
+
if self.contest is None:
|
2480
|
+
return
|
2481
|
+
if hasattr(self.contest, "online_score_xml"):
|
2482
|
+
if self.rtc_service is not None:
|
2483
|
+
self.rtc_service.xml = self.contest.online_score_xml(self)
|
2484
|
+
|
2478
2485
|
def new_contest_dialog(self) -> None:
|
2479
2486
|
"""
|
2480
2487
|
Show new contest dialog.
|
@@ -2919,6 +2926,12 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2919
2926
|
|
2920
2927
|
self.rtc_service = None
|
2921
2928
|
|
2929
|
+
self.send_rtc_scores = self.pref.get("send_rtc_scores", False)
|
2930
|
+
self.rtc_url = self.pref.get("rtc_url", "")
|
2931
|
+
self.rtc_user = self.pref.get("rtc_user", "")
|
2932
|
+
self.rtc_pass = self.pref.get("rtc_pass", "")
|
2933
|
+
self.rtc_interval = self.pref.get("rtc_interval", 2)
|
2934
|
+
|
2922
2935
|
if self.pref.get("send_rtc_scores", False):
|
2923
2936
|
self.rtc_service = RTCService()
|
2924
2937
|
self.rtc_service.moveToThread(self.rtc_thread)
|
@@ -2926,6 +2939,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2926
2939
|
self.rtc_thread.finished.connect(self.rtc_service.deleteLater)
|
2927
2940
|
# self.rtc_service.poll_callback.connect(self.rtc_result)
|
2928
2941
|
self.rtc_thread.start()
|
2942
|
+
self.rtc_service.rtc_callback.connect(self.rtc_response)
|
2929
2943
|
|
2930
2944
|
try:
|
2931
2945
|
if self.radio_thread.isRunning():
|
@@ -3075,11 +3089,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3075
3089
|
self.esm_dict["MYCALL"] = fkey_dict.get(self.pref.get("esm_mycall", "DISABLED"))
|
3076
3090
|
self.esm_dict["QSOB4"] = fkey_dict.get(self.pref.get("esm_qsob4", "DISABLED"))
|
3077
3091
|
|
3078
|
-
self.
|
3079
|
-
self.rtc_url = self.pref.get("rtc_url", "")
|
3080
|
-
self.rtc_user = self.pref.get("rtc_user", "")
|
3081
|
-
self.rtc_pass = self.pref.get("rtc_pass", "")
|
3082
|
-
self.rtc_interval = self.pref.get("rtc_interval", 2)
|
3092
|
+
self.update_rtc_xml()
|
3083
3093
|
|
3084
3094
|
def dark_mode_state_changed(self) -> None:
|
3085
3095
|
"""Called when the Dark Mode menu state is changed."""
|
@@ -3087,6 +3097,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
3087
3097
|
self.write_preference()
|
3088
3098
|
self.setDarkMode(self.actionDark_Mode_2.isChecked())
|
3089
3099
|
|
3100
|
+
def rtc_response(self, response):
|
3101
|
+
print(f"{response=}")
|
3102
|
+
|
3090
3103
|
def cw_macros_state_changed(self) -> None:
|
3091
3104
|
"""
|
3092
3105
|
Menu item to show/hide macro buttons.
|
not1mm/lib/plugin_common.py
CHANGED
@@ -73,11 +73,9 @@ def gen_adif(self, cabrillo_name: str, contest_id=""):
|
|
73
73
|
"""
|
74
74
|
now = datetime.datetime.now()
|
75
75
|
date_time = now.strftime("%Y-%m-%d_%H-%M-%S")
|
76
|
-
station_callsign = self.station.get(
|
76
|
+
station_callsign = self.station.get("Call", "").upper()
|
77
77
|
filename = (
|
78
|
-
str(Path.home())
|
79
|
-
+ "/"
|
80
|
-
+ f"{station_callsign}_{cabrillo_name}_{date_time}.adi"
|
78
|
+
str(Path.home()) + "/" + f"{station_callsign}_{cabrillo_name}_{date_time}.adi"
|
81
79
|
)
|
82
80
|
log = self.database.fetch_all_contacts_asc()
|
83
81
|
try:
|
not1mm/lib/version.py
CHANGED
not1mm/plugins/arrl_160m.py
CHANGED
@@ -10,7 +10,7 @@ from pathlib import Path
|
|
10
10
|
|
11
11
|
from PyQt6 import QtWidgets
|
12
12
|
|
13
|
-
from not1mm.lib.plugin_common import gen_adif
|
13
|
+
from not1mm.lib.plugin_common import gen_adif, get_points, online_score_xml
|
14
14
|
from not1mm.lib.version import __version__
|
15
15
|
|
16
16
|
logger = logging.getLogger(__name__)
|
@@ -123,7 +123,48 @@ def points(self):
|
|
123
123
|
|
124
124
|
# Both in same country
|
125
125
|
|
126
|
-
|
126
|
+
# 2.1.1 Alaska (KL7 – AK) and Hawaii (KH6 – PAC), the Caribbean US possessions (KP1-KP5 -
|
127
|
+
# PR or VI), and all of the Pacific Ocean territories (KHØ-KH9 – PAC) participate as W/VE stations
|
128
|
+
# and count as ARRL sections.
|
129
|
+
if mypfx in [
|
130
|
+
"K",
|
131
|
+
"KL",
|
132
|
+
"KH0",
|
133
|
+
"KH1",
|
134
|
+
"KH2",
|
135
|
+
"KH3",
|
136
|
+
"KH4",
|
137
|
+
"KH5",
|
138
|
+
"KH6",
|
139
|
+
"KH7",
|
140
|
+
"KH8",
|
141
|
+
"KH9",
|
142
|
+
"KP1",
|
143
|
+
"KP2",
|
144
|
+
"KP3",
|
145
|
+
"KP4",
|
146
|
+
"KP5",
|
147
|
+
"VE",
|
148
|
+
] and pfx in [
|
149
|
+
"K",
|
150
|
+
"KL",
|
151
|
+
"KH0",
|
152
|
+
"KH1",
|
153
|
+
"KH2",
|
154
|
+
"KH3",
|
155
|
+
"KH4",
|
156
|
+
"KH5",
|
157
|
+
"KH6",
|
158
|
+
"KH7",
|
159
|
+
"KH8",
|
160
|
+
"KH9",
|
161
|
+
"KP1",
|
162
|
+
"KP2",
|
163
|
+
"KP3",
|
164
|
+
"KP4",
|
165
|
+
"KP5",
|
166
|
+
"VE",
|
167
|
+
]:
|
127
168
|
return 2
|
128
169
|
|
129
170
|
if mypfx.upper() != pfx.upper():
|
@@ -134,8 +175,10 @@ def points(self):
|
|
134
175
|
|
135
176
|
def show_mults(self):
|
136
177
|
"""Return display string for mults"""
|
137
|
-
|
138
|
-
|
178
|
+
mults = 0
|
179
|
+
if can_claim_dxcc(self):
|
180
|
+
result = self.database.fetch_country_count()
|
181
|
+
mults = int(result.get("dxcc_count", 0))
|
139
182
|
|
140
183
|
result = self.database.fetch_exchange1_unique_count()
|
141
184
|
mults2 = int(result.get("exch1_count", 0))
|
@@ -153,6 +196,7 @@ def show_qso(self):
|
|
153
196
|
|
154
197
|
def calc_score(self):
|
155
198
|
"""Return calculated score"""
|
199
|
+
mults = 0
|
156
200
|
result = self.database.fetch_points()
|
157
201
|
if result is not None:
|
158
202
|
score = result.get("Points", "0")
|
@@ -160,8 +204,9 @@ def calc_score(self):
|
|
160
204
|
score = "0"
|
161
205
|
contest_points = int(score)
|
162
206
|
|
163
|
-
|
164
|
-
|
207
|
+
if can_claim_dxcc(self):
|
208
|
+
result = self.database.fetch_country_count()
|
209
|
+
mults = int(result.get("dxcc_count", 0))
|
165
210
|
|
166
211
|
result = self.database.fetch_exchange1_unique_count()
|
167
212
|
mults2 = int(result.get("exch1_count", 0))
|
@@ -169,6 +214,37 @@ def calc_score(self):
|
|
169
214
|
return 0
|
170
215
|
|
171
216
|
|
217
|
+
def can_claim_dxcc(self):
|
218
|
+
""""""
|
219
|
+
result = self.cty_lookup(self.station.get("Call", ""))
|
220
|
+
if result:
|
221
|
+
mypfx = ""
|
222
|
+
for item in result.items():
|
223
|
+
mypfx = item[1].get("primary_pfx", "")
|
224
|
+
if mypfx in [
|
225
|
+
"K",
|
226
|
+
"KL",
|
227
|
+
"KH0",
|
228
|
+
"KH1",
|
229
|
+
"KH2",
|
230
|
+
"KH3",
|
231
|
+
"KH4",
|
232
|
+
"KH5",
|
233
|
+
"KH6",
|
234
|
+
"KH7",
|
235
|
+
"KH8",
|
236
|
+
"KH9",
|
237
|
+
"KP1",
|
238
|
+
"KP2",
|
239
|
+
"KP3",
|
240
|
+
"KP4",
|
241
|
+
"KP5",
|
242
|
+
"VE",
|
243
|
+
]:
|
244
|
+
return True
|
245
|
+
return False
|
246
|
+
|
247
|
+
|
172
248
|
def adif(self):
|
173
249
|
"""Call the generate ADIF function"""
|
174
250
|
gen_adif(self, cabrillo_name, "ARRL 160-Meter")
|
@@ -381,14 +457,6 @@ def cabrillo(self, file_encoding):
|
|
381
457
|
return
|
382
458
|
|
383
459
|
|
384
|
-
# def trigger_update(self):
|
385
|
-
# """Triggers the log window to update."""
|
386
|
-
# cmd = {}
|
387
|
-
# cmd["cmd"] = "UPDATELOG"
|
388
|
-
# cmd["station"] = platform.node()
|
389
|
-
# self.multicast_interface.send_as_json(cmd)
|
390
|
-
|
391
|
-
|
392
460
|
def recalculate_mults(self):
|
393
461
|
"""Recalculates multipliers after change in logged qso."""
|
394
462
|
# all_contacts = self.database.fetch_all_contacts_asc()
|
@@ -541,3 +609,19 @@ def check_call_history(self):
|
|
541
609
|
self.history_info.setText(f"{result.get('UserText','')}")
|
542
610
|
if self.other_2.text() == "":
|
543
611
|
self.other_2.setText(f"{result.get('Exch1', '')}")
|
612
|
+
|
613
|
+
|
614
|
+
def get_mults(self):
|
615
|
+
""""""
|
616
|
+
mults = {}
|
617
|
+
if can_claim_dxcc(self):
|
618
|
+
mults["country"] = self.database.fetch_country_count().get("dxcc_count", 0)
|
619
|
+
|
620
|
+
mults["state"] = self.database.fetch_exchange1_unique_count().get("exch1_count", 0)
|
621
|
+
|
622
|
+
return mults
|
623
|
+
|
624
|
+
|
625
|
+
def just_points(self):
|
626
|
+
""""""
|
627
|
+
return self.database.fetch_points().get("Points", "0")
|
not1mm/plugins/k1usn_sst.py
CHANGED
@@ -28,7 +28,7 @@ from pathlib import Path
|
|
28
28
|
|
29
29
|
from PyQt6 import QtWidgets
|
30
30
|
|
31
|
-
from not1mm.lib.plugin_common import gen_adif, get_points
|
31
|
+
from not1mm.lib.plugin_common import gen_adif, get_points, online_score_xml
|
32
32
|
from not1mm.lib.version import __version__
|
33
33
|
|
34
34
|
logger = logging.getLogger(__name__)
|
@@ -506,3 +506,23 @@ def check_call_history(self):
|
|
506
506
|
self.other_1.setText(f"{result.get('Name', '')}")
|
507
507
|
if self.other_2.text() == "":
|
508
508
|
self.other_2.setText(f"{result.get('Exch1', '')}")
|
509
|
+
|
510
|
+
|
511
|
+
# --------RTC Stuff-----------
|
512
|
+
def get_mults(self):
|
513
|
+
""""""
|
514
|
+
|
515
|
+
mults = {}
|
516
|
+
mults["state"] = show_mults(self)
|
517
|
+
return mults
|
518
|
+
|
519
|
+
|
520
|
+
def just_points(self):
|
521
|
+
""""""
|
522
|
+
result = self.database.fetch_points()
|
523
|
+
if result is not None:
|
524
|
+
score = result.get("Points", "0")
|
525
|
+
if score is None:
|
526
|
+
score = "0"
|
527
|
+
return int(score)
|
528
|
+
return 0
|
not1mm/rtc_service.py
CHANGED
@@ -28,7 +28,7 @@ logger = logging.getLogger(__name__)
|
|
28
28
|
class RTCService(QObject):
|
29
29
|
"""The RTC Service class."""
|
30
30
|
|
31
|
-
|
31
|
+
rtc_callback = pyqtSignal(dict)
|
32
32
|
delta = 2 # two minutes
|
33
33
|
poll_time = datetime.datetime.now() + datetime.timedelta(minutes=delta)
|
34
34
|
time_to_quit = False
|
@@ -44,6 +44,7 @@ class RTCService(QObject):
|
|
44
44
|
while not self.time_to_quit:
|
45
45
|
# if self.pref.get("send_rtc_scores", False) is True:
|
46
46
|
if datetime.datetime.now() > self.poll_time:
|
47
|
+
response = ""
|
47
48
|
self.poll_time = datetime.datetime.now() + datetime.timedelta(
|
48
49
|
minutes=self.delta
|
49
50
|
)
|
@@ -60,15 +61,15 @@ class RTCService(QObject):
|
|
60
61
|
),
|
61
62
|
timeout=30,
|
62
63
|
)
|
63
|
-
|
64
|
+
response = f"{result.status_code}|{result.reason}|{result.text}"
|
64
65
|
except requests.exceptions.Timeout:
|
65
|
-
|
66
|
+
response = "RTC post timeout."
|
66
67
|
except requests.exceptions.RequestException as e:
|
67
|
-
|
68
|
+
response = f"An RTC post error occurred: {e}"
|
68
69
|
else:
|
69
|
-
|
70
|
+
response = "No XML data"
|
70
71
|
try:
|
71
|
-
self.
|
72
|
+
self.rtc_callback.emit({"result": response})
|
72
73
|
except QEventLoop:
|
73
74
|
...
|
74
75
|
QThread.msleep(1)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.12.
|
3
|
+
Version: 24.12.6
|
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
|
@@ -211,6 +211,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
211
211
|
- 10 10 Summer Phone
|
212
212
|
- 10 10 Winter Phone
|
213
213
|
- ARRL 10M
|
214
|
+
- ARRL 160M
|
214
215
|
- ARRL DX CW, SSB
|
215
216
|
- ARRL Field Day
|
216
217
|
- ARRL Sweepstakes CW, SSB
|
@@ -238,6 +239,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
238
239
|
|
239
240
|
## Recent Changes (Polishing the Turd)
|
240
241
|
|
242
|
+
- [24-12-6] Add RTC to K1USN.
|
243
|
+
-[24-12-5-1] ARRL 160 gets rtc.
|
241
244
|
- [24-12-5] Add 'real time' score posting to external sites.
|
242
245
|
- [24-12-4] Merged PR from @alduhoo Add STATION_CALLSIGN field to ADIF output
|
243
246
|
- [24-12-3-1] Adding ARRL 160
|
@@ -619,6 +622,7 @@ On the Options TAB you can:
|
|
619
622
|
|
620
623
|
- Select to use Enter Sends Message (ESM), and configure it's function keys.
|
621
624
|
- Select whether or not to use Call History info.
|
625
|
+
- Select whether or not to send XML score info to online scoreboards.
|
622
626
|
|
623
627
|

|
624
628
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=NhY8RJUM533ou_u-YjuZSV9AWCkQ1jf-MKjM0ghWgW0,144696
|
3
3
|
not1mm/bandmap.py,sha256=zD3aUf36NVQCy0plAcZLNxYhSEM9xZ8J1Cu9vrcFPYA,31136
|
4
4
|
not1mm/checkwindow.py,sha256=VFAcKYTcoWhmIf91chwY6tyao9FQMWPiUkgDDkkWaog,9670
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
6
6
|
not1mm/logwindow.py,sha256=TvpzQTNB92hISlUO3iWBqtlPmlebdhOkAArx0DNGcOs,43966
|
7
7
|
not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
|
8
8
|
not1mm/radio.py,sha256=c4m7Ci38uKGKxB0JUT5uOKalI_Mm8Vmixu5D_roN5z4,5400
|
9
|
-
not1mm/rtc_service.py,sha256=
|
9
|
+
not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
|
10
10
|
not1mm/test.py,sha256=RN71m2S9MPIOJMaoCi0wZhwEhpEZunvtosZxaKahRB4,101
|
11
11
|
not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
|
12
12
|
not1mm/voice_keying.py,sha256=sA3gw5_k7kShTg2qhG7HkKDM5M6KheJVRkAc_C7mxDk,3006
|
@@ -111,11 +111,11 @@ not1mm/lib/lookup.py,sha256=KECMDi9tflRDzgTLeDfDl7HGWWRHvW3HCjNHyyjoWaY,10835
|
|
111
111
|
not1mm/lib/multicast.py,sha256=KJcruI-bOuHfHXPjl3SGQhL6I9sKrygy-sdFSvxffUM,3255
|
112
112
|
not1mm/lib/n1mm.py,sha256=H54mpgJF0GAmKavM-nb5OAq2SJFWYkux4eMWWiSRxJc,6288
|
113
113
|
not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
|
114
|
-
not1mm/lib/plugin_common.py,sha256
|
114
|
+
not1mm/lib/plugin_common.py,sha256=gpYDYRu_-w8QiLNXPLjKzE47Fhgv-q7yrLu0-BwEpVY,13141
|
115
115
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
116
116
|
not1mm/lib/settings.py,sha256=j5lIMLHJ-eqIaVr_QhI82gkbOl17_C-5suRkWbHYET8,14717
|
117
117
|
not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
|
118
|
-
not1mm/lib/version.py,sha256=
|
118
|
+
not1mm/lib/version.py,sha256=Y733EEADBRN-bkIKXrCFMSoVV0drC1bWD8H8Tx3wHpQ,48
|
119
119
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
120
120
|
not1mm/plugins/10_10_fall_cw.py,sha256=AsvB2VUd6Qb2_FzZkSBkSd1_qeP8Dt-B-exF1Pzb9tk,14469
|
121
121
|
not1mm/plugins/10_10_spring_cw.py,sha256=nA4v0oqlp-ivvKqNPakb19I-wE_ElhvH5bCzDRx00JU,14474
|
@@ -123,7 +123,7 @@ not1mm/plugins/10_10_summer_phone.py,sha256=FNcTQoyZCeAW2i3SKYYDZWuJS1vmk1CO4XO1
|
|
123
123
|
not1mm/plugins/10_10_winter_phone.py,sha256=NRAKgu4oYzrpUtjUKWgCfZQf3b85sdVe9oyl-yD6kJo,14486
|
124
124
|
not1mm/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
125
125
|
not1mm/plugins/arrl_10m.py,sha256=-stuBD3DCdlWctxE9bWEeznZrgIfNw7VcMIE1ZmsfMo,17942
|
126
|
-
not1mm/plugins/arrl_160m.py,sha256=
|
126
|
+
not1mm/plugins/arrl_160m.py,sha256=idirBXY1XmzxdEyuodGUBsDwLN7JaNtpdix9f3lceRQ,20127
|
127
127
|
not1mm/plugins/arrl_dx_cw.py,sha256=1epTIf9TjeUCjYlpRDU54Ig3lJdXa2e5JZI9SCGE080,17400
|
128
128
|
not1mm/plugins/arrl_dx_ssb.py,sha256=IEZ6tlP9stW3Mdr5_qTBS77hjAUU43IpagyPjr0eqaQ,17403
|
129
129
|
not1mm/plugins/arrl_field_day.py,sha256=YEyXr1Ytllq12sCj54erOba0wrblwb0_bq51gj75OIQ,16478
|
@@ -152,7 +152,7 @@ not1mm/plugins/iaru_hf.py,sha256=RcVf0UFaHX0eSpUZMMGHC0HTsOy_SwTH9Yi9SeJNQUA,157
|
|
152
152
|
not1mm/plugins/icwc_mst.py,sha256=iFV7iHdI8BLnag-gkQ2q0S4h9n7jXoZ0oTJxtTG14OU,16366
|
153
153
|
not1mm/plugins/jidx_cw.py,sha256=KJOE3fU0KVMqD5IqvnN3YDHPEwrMx3yJZBmCtAIP7WQ,15650
|
154
154
|
not1mm/plugins/jidx_ph.py,sha256=1l92EmDZJFRGZjR1VrISgFc8KoHVfmJvLsaVsuufIMs,14599
|
155
|
-
not1mm/plugins/k1usn_sst.py,sha256=
|
155
|
+
not1mm/plugins/k1usn_sst.py,sha256=dbYOZgrMWK-O2pX3dnxiC27a0nghgh3f_9oFwRNCQwc,17043
|
156
156
|
not1mm/plugins/lz-dx.py,sha256=I9k67Q9ifSfbrd0ptfr6nOsp6PGfzLifQlVLJYJeOBk,19505
|
157
157
|
not1mm/plugins/naqp_cw.py,sha256=oe0Ytx185hUGvebSc0vzFwdBOpNkIFRgGabGSmaV7H8,18576
|
158
158
|
not1mm/plugins/naqp_rtty.py,sha256=7bGe33TP4VSVgwv3-pPa8Xfkx0SXbe8sV-0LmTlOugo,22260
|
@@ -164,9 +164,9 @@ not1mm/plugins/ref_ssb.py,sha256=G2Gz4kApchmOZQVnBexEokSEvdb-mZWJAfyJ1D6JDGY,204
|
|
164
164
|
not1mm/plugins/stew_perry_topband.py,sha256=Gy_vv6tgkR-3vmvsUVO0pVfHMkUJSxpt7G4secn0RH8,15084
|
165
165
|
not1mm/plugins/weekly_rtty.py,sha256=PI0_AtEdZZKGAuKnP-b2EYn9xwCN1Ablk38trbNP3Rc,19603
|
166
166
|
not1mm/plugins/winter_field_day.py,sha256=9w3tDL9ZWiENSTERc3vzDbBktvI7pnyNvlH6fDjAi08,14841
|
167
|
-
not1mm-24.12.
|
168
|
-
not1mm-24.12.
|
169
|
-
not1mm-24.12.
|
170
|
-
not1mm-24.12.
|
171
|
-
not1mm-24.12.
|
172
|
-
not1mm-24.12.
|
167
|
+
not1mm-24.12.6.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
168
|
+
not1mm-24.12.6.dist-info/METADATA,sha256=oiVHT7cgjLaxapmDVRw5lCg7fQPCT3cAlnVQ35wDDzs,35653
|
169
|
+
not1mm-24.12.6.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
|
170
|
+
not1mm-24.12.6.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
171
|
+
not1mm-24.12.6.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
172
|
+
not1mm-24.12.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|