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 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.7.1
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.7.1
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
- if self.pref.get("send_rtc_scores", False):
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.send_rtc_scores = self.pref.get("send_rtc_scores", False)
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.
@@ -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('Call', '').upper()
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
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.12.5"
3
+ __version__ = "24.12.6"
@@ -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
- if mypfx in ["K", "VE"] and pfx in ["K", "VE"]:
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
- result = self.database.fetch_country_count()
138
- mults = int(result.get("dxcc_count", 0))
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
- result = self.database.fetch_country_count()
164
- mults = int(result.get("dxcc_count", 0))
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")
@@ -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
- poll_callback = pyqtSignal(dict)
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
- print(f"{self.xml=}\n{result=}\n{result.text}")
64
+ response = f"{result.status_code}|{result.reason}|{result.text}"
64
65
  except requests.exceptions.Timeout:
65
- print("RTC post timeout.")
66
+ response = "RTC post timeout."
66
67
  except requests.exceptions.RequestException as e:
67
- print(f"An RTC post error occurred: {e}")
68
+ response = f"An RTC post error occurred: {e}"
68
69
  else:
69
- print("No XML data")
70
+ response = "No XML data"
70
71
  try:
71
- self.poll_callback.emit({"success": True})
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.5
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
  ![Options Screen](https://github.com/mbridak/not1mm/blob/master/pic/configuration_options.png?raw=true)
624
628
 
@@ -1,12 +1,12 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=4NazDz0wMfre9nXHwdtAZZtkQkEbCUeo4IiquZeuxWg,144335
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=Fu_Ru0GR2wcTfmbnt8cIAC5BJfPQEb4kuSTyQohZoi8,2756
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=-aduWHc_YEQKAFFYXblC7UGq9ymcxhEPL_LKgwDD7_w,13157
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=Gq_FT5obxRUq85-MUXiLa6wBTa2vTHKIXlLWiMe9oRY,48
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=azm0SV-bTDHe2LDK1TjVgRLajlv2vnKZrpN7wgTv7ho,18441
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=71uO6nUf86J77qSQIiYl_H9EKa2iwyHijcMOk61q6uQ,16653
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.5.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
168
- not1mm-24.12.5.dist-info/METADATA,sha256=Ar9RMBUq1lqLo-121C91gleMPhRr1xnRINb7-l50MfE,35509
169
- not1mm-24.12.5.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
170
- not1mm-24.12.5.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
171
- not1mm-24.12.5.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
172
- not1mm-24.12.5.dist-info/RECORD,,
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,,