not1mm 24.12.5__py3-none-any.whl → 24.12.5.1__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,17 @@ 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
+ print("update the xml")
2479
+ if self.pref.get("send_rtc_scores", False):
2480
+ if self.contest is None:
2481
+ return
2482
+ if hasattr(self.contest, "online_score_xml"):
2483
+ if self.rtc_service is not None:
2484
+ self.rtc_service.xml = self.contest.online_score_xml(self)
2485
+ print(f"{self.rtc_service.xml=}")
2486
+
2478
2487
  def new_contest_dialog(self) -> None:
2479
2488
  """
2480
2489
  Show new contest dialog.
@@ -2919,6 +2928,12 @@ class MainWindow(QtWidgets.QMainWindow):
2919
2928
 
2920
2929
  self.rtc_service = None
2921
2930
 
2931
+ self.send_rtc_scores = self.pref.get("send_rtc_scores", False)
2932
+ self.rtc_url = self.pref.get("rtc_url", "")
2933
+ self.rtc_user = self.pref.get("rtc_user", "")
2934
+ self.rtc_pass = self.pref.get("rtc_pass", "")
2935
+ self.rtc_interval = self.pref.get("rtc_interval", 2)
2936
+
2922
2937
  if self.pref.get("send_rtc_scores", False):
2923
2938
  self.rtc_service = RTCService()
2924
2939
  self.rtc_service.moveToThread(self.rtc_thread)
@@ -3075,11 +3090,7 @@ class MainWindow(QtWidgets.QMainWindow):
3075
3090
  self.esm_dict["MYCALL"] = fkey_dict.get(self.pref.get("esm_mycall", "DISABLED"))
3076
3091
  self.esm_dict["QSOB4"] = fkey_dict.get(self.pref.get("esm_qsob4", "DISABLED"))
3077
3092
 
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)
3093
+ self.update_rtc_xml()
3083
3094
 
3084
3095
  def dark_mode_state_changed(self) -> None:
3085
3096
  """Called when the Dark Mode menu state is 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('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.5.1"
@@ -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")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.12.5
3
+ Version: 24.12.5.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
@@ -238,6 +238,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
238
238
 
239
239
  ## Recent Changes (Polishing the Turd)
240
240
 
241
+ -[24-12-5-1] ARRL 160 gets rtc.
241
242
  - [24-12-5] Add 'real time' score posting to external sites.
242
243
  - [24-12-4] Merged PR from @alduhoo Add STATION_CALLSIGN field to ADIF output
243
244
  - [24-12-3-1] Adding ARRL 160
@@ -619,6 +620,7 @@ On the Options TAB you can:
619
620
 
620
621
  - Select to use Enter Sends Message (ESM), and configure it's function keys.
621
622
  - Select whether or not to use Call History info.
623
+ - Select whether or not to send XML score info to online scoreboards.
622
624
 
623
625
  ![Options Screen](https://github.com/mbridak/not1mm/blob/master/pic/configuration_options.png?raw=true)
624
626
 
@@ -1,5 +1,5 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=4NazDz0wMfre9nXHwdtAZZtkQkEbCUeo4IiquZeuxWg,144335
2
+ not1mm/__main__.py,sha256=fiXIUhVXM8mA0_zkr-srDZF-XvvkoFNVZ9LtqF2NYts,144644
3
3
  not1mm/bandmap.py,sha256=zD3aUf36NVQCy0plAcZLNxYhSEM9xZ8J1Cu9vrcFPYA,31136
4
4
  not1mm/checkwindow.py,sha256=VFAcKYTcoWhmIf91chwY6tyao9FQMWPiUkgDDkkWaog,9670
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
@@ -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=szIJzvfgl4Q3uj53Wst_zg1KvKsYv2FK-7_N6YPVm_o,50
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
@@ -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.5.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
168
+ not1mm-24.12.5.1.dist-info/METADATA,sha256=tYCfOzNbIMOj91v3fsxr2pXNmOFtxfXN55CYFcKjGdc,35613
169
+ not1mm-24.12.5.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
170
+ not1mm-24.12.5.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
171
+ not1mm-24.12.5.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
172
+ not1mm-24.12.5.1.dist-info/RECORD,,