not1mm 24.10.23__py3-none-any.whl → 24.10.24__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
@@ -746,6 +746,8 @@ class MainWindow(QtWidgets.QMainWindow):
746
746
  return
747
747
  if msg.get("cmd", "") == "TUNE":
748
748
  # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
749
+ if self.vfo_window:
750
+ self.vfo_window.msg_from_main(msg)
749
751
  vfo = msg.get("freq")
750
752
  vfo = float(vfo) * 1000000
751
753
  self.radio_state["vfoa"] = int(vfo)
@@ -880,6 +882,8 @@ class MainWindow(QtWidgets.QMainWindow):
880
882
  self.bandmap_window.msg_from_main(cmd)
881
883
  if self.check_window:
882
884
  self.check_window.msg_from_main(cmd)
885
+ if self.vfo_window:
886
+ self.vfo_window.msg_from_main(cmd)
883
887
 
884
888
  if setdarkmode:
885
889
  darkPalette = QPalette()
Binary file
not1mm/lib/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.10.23"
3
+ __version__ = "24.10.24"
@@ -45,6 +45,7 @@ from PyQt6 import QtWidgets
45
45
 
46
46
  from not1mm.lib.plugin_common import gen_adif, get_points
47
47
  from not1mm.lib.version import __version__
48
+ from not1mm.lib.ham_utility import get_logged_band
48
49
 
49
50
  logger = logging.getLogger(__name__)
50
51
 
@@ -150,6 +151,14 @@ def prefill(self):
150
151
 
151
152
  def points(self):
152
153
  """Calc point"""
154
+ # @awandahl Retrieve callsign and band information
155
+ call = self.contact.get("Call", "")
156
+ band = float(get_logged_band(str(int(self.contact.get("Freq", 0.0) * 1000))))
157
+
158
+ # @awandahl Check if the contact is a duplicate on the current band
159
+ dupe_check = self.database.check_dupe_on_band(call, band)
160
+ if dupe_check.get("isdupe", 0) > 0:
161
+ return 0 # @awandahl Return zero points for duplicates
153
162
  result = self.cty_lookup(self.station.get("Call", ""))
154
163
  if result:
155
164
  for item in result.items():
not1mm/vfo.py CHANGED
@@ -14,8 +14,7 @@ Purpose: Provide onscreen widget that interacts with DIY VFO knob and remote rig
14
14
 
15
15
  import logging
16
16
  import os
17
- import platform
18
- from json import loads, JSONDecodeError
17
+ from json import loads
19
18
 
20
19
  import serial
21
20
  from PyQt6 import QtCore, QtWidgets, uic
@@ -25,7 +24,6 @@ from PyQt6.QtGui import QColorConstants, QPalette, QColor
25
24
 
26
25
  import not1mm.fsutils as fsutils
27
26
  from not1mm.lib.cat_interface import CAT
28
- from not1mm.lib.multicast import Multicast
29
27
 
30
28
  logger = logging.getLogger(__name__)
31
29
 
@@ -45,22 +43,12 @@ class VfoWindow(QDockWidget):
45
43
  super().__init__()
46
44
  uic.loadUi(fsutils.APP_DATA_PATH / "vfo.ui", self)
47
45
  self.setWindowTitle("VFO Window")
48
-
49
46
  self.rig_control = None
50
47
  self.timer = QTimer()
51
48
  self.timer.timeout.connect(self.getwaiting)
52
49
  self.load_pref()
53
50
  self.lcdNumber.display(0)
54
51
  self.pico = None
55
- self._udpwatch = None
56
-
57
- self.multicast_interface = Multicast(
58
- self.pref.get("multicast_group", "239.1.1.1"),
59
- self.pref.get("multicast_port", 2239),
60
- self.pref.get("interface_ip", "0.0.0.0"),
61
- )
62
- self.multicast_interface.ready_read_connect(self.watch_udp)
63
-
64
52
  self.setup_serial()
65
53
  self.poll_rig_timer = QtCore.QTimer()
66
54
  self.poll_rig_timer.timeout.connect(self.poll_radio)
@@ -216,44 +204,26 @@ class VfoWindow(QDockWidget):
216
204
  )
217
205
  self.lcdNumber.setStyleSheet("QLCDNumber { color: red; }")
218
206
 
219
- def watch_udp(self) -> None:
207
+ def msg_from_main(self, msg_dict) -> None:
220
208
  """
221
209
  Watch for a 'HALT' UPD packet from not1mm.
222
210
  Exit app if found.
223
211
  """
224
- while self.multicast_interface.server_udp.hasPendingDatagrams():
225
- datagram = self.multicast_interface.getpacket()
212
+ if msg_dict.get("cmd", "") == "TUNE":
213
+ # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
214
+ vfo = msg_dict.get("freq")
215
+ vfo = float(vfo) * 1000000
216
+ changefreq = f"F {int(vfo)}\r"
226
217
  try:
227
- debug_info = f"{datagram}"
228
- logger.debug(debug_info)
229
- json_data = loads(datagram)
230
- except UnicodeDecodeError as err:
231
- the_error = f"Not Unicode: {err}\n{datagram}"
232
- logger.debug(the_error)
233
- continue
234
- except JSONDecodeError as err:
235
- the_error = f"Not JSON: {err}\n{datagram}"
236
- logger.debug(the_error)
237
- continue
238
- if json_data.get("station", "") != platform.node():
239
- continue
240
- logger.debug(f"{json_data=}")
241
-
242
- if json_data.get("cmd", "") == "TUNE":
243
- # b'{"cmd": "TUNE", "freq": 7.0235, "spot": "MM0DGI"}'
244
- vfo = json_data.get("freq")
245
- vfo = float(vfo) * 1000000
246
- changefreq = f"F {int(vfo)}\r"
247
- try:
248
- if self.pico:
249
- self.pico.write(changefreq.encode())
250
- except OSError:
251
- logger.critical("Unable to write to serial device.")
252
- except AttributeError:
253
- logger.critical("Unable to write to serial device.")
254
- continue
255
- if json_data.get("cmd", "") == "DARKMODE":
256
- self.setDarkMode(json_data.get("state", False))
218
+ if self.pico:
219
+ self.pico.write(changefreq.encode())
220
+ except OSError:
221
+ logger.critical("Unable to write to serial device.")
222
+ except AttributeError:
223
+ logger.critical("Unable to write to serial device.")
224
+ return
225
+ if msg_dict.get("cmd", "") == "DARKMODE":
226
+ self.setDarkMode(msg_dict.get("state", False))
257
227
 
258
228
  def showNumber(self, the_number) -> None:
259
229
  """Display vfo value with dots"""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.23
3
+ Version: 24.10.24
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
@@ -232,10 +232,11 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
232
232
 
233
233
  ## Recent Changes (Polishing the Turd)
234
234
 
235
+ - [24-10-24] Forgot to convert the VFO dockwidget along with the rest. CQ WW CW, Dupes now score 0.
235
236
  - [24-10-23] Remove duplicate marked calls in the bandmap.
236
237
  - [24-10-22] Added ESM to RAC Canada Day. Added French REF.
237
238
  - [24-10-21] Scaled back the hits returned from the check window from 25 to 20. Seems less resource hungry now.
238
- - [24-10-20-1] ReWrote how the widgets interact. I porbably broke a thing or two. Let me know.
239
+ - [24-10-20-1] ReWrote how the widgets interact. I probably broke a thing or two. Let me know.
239
240
  - [24-10-20] Add ESM to ARRL DX.
240
241
  - [24-10-19-1] Rewrite part of CAT control.
241
242
  - [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
@@ -547,7 +548,7 @@ You can fill. You can fill. Everyone look at your keys.
547
548
 
548
549
  ### Changing station information
549
550
 
550
- Station information can be changed any time by going to
551
+ Station information can be changed any time by going toawandahl
551
552
  `File` > `Station Settings` and editing the information.
552
553
 
553
554
  ## Selecting a contest (It's REQUIRED Russ)
@@ -1,5 +1,5 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=J0Jgm4Q0tXthiRw3VLfROKQSdK66olZNUJmr963ExQ8,135049
2
+ not1mm/__main__.py,sha256=DaYuqX83hURHwL4fzQ40M8IcjUkiXd0Pi2h7Je077ks,135215
3
3
  not1mm/bandmap.py,sha256=uCaM07IWyC22LFO3R1_ViaW7SBXjIaoJ-ypglJIKddg,30670
4
4
  not1mm/checkwindow.py,sha256=F6hNCbVSLG2PPY2afgmwlBWeqr1Uj4-n__AivDLVQ_0,9670
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
@@ -7,7 +7,7 @@ not1mm/logwindow.py,sha256=TvpzQTNB92hISlUO3iWBqtlPmlebdhOkAArx0DNGcOs,43966
7
7
  not1mm/lookupservice.py,sha256=4c36x_1G3Sy69gQfJ6El7vHLIKTjLGH67ziPPoeYweM,2648
8
8
  not1mm/radio.py,sha256=eu1kBjmttREFZ5tAJpNuQSMrmWeKw4Tb-sjgjChUYUs,4693
9
9
  not1mm/test.py,sha256=atZoDXL9DArK4dS8gBCDmlMt5AHuiVZmFOQIp62hDHg,314
10
- not1mm/vfo.py,sha256=IvmUQYMIPzLJw_BHQGis4J_IEW-vlBtdfxZLXPh7OzI,12335
10
+ not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
11
11
  not1mm/voice_keying.py,sha256=sA3gw5_k7kShTg2qhG7HkKDM5M6KheJVRkAc_C7mxDk,3006
12
12
  not1mm/data/JetBrainsMono-ExtraLight.ttf,sha256=g5Hn7BPounWMGDj1a8zZcyKMz03HSqW__pUluRR7Evg,274144
13
13
  not1mm/data/MASTER.SCP,sha256=FWKs4Xw3w7FNUt2npA6VzsLME7NAbHRugxaL6TnsvzU,364234
@@ -61,6 +61,7 @@ not1mm/data/phonetics/b.wav,sha256=vOcw0gCYws-1AaGXu8pqnb3TPfnnj6_b7c5vV7_4kUY,4
61
61
  not1mm/data/phonetics/c.wav,sha256=To-OPpsUuwYz7Ix_Sxzbx0JE_dVDY81M2kpcu9rewhA,46746
62
62
  not1mm/data/phonetics/contest.wav,sha256=8JXCFI-10dAwtQg63hmOIdQxh__601rw4TXZTJoP0ew,62558
63
63
  not1mm/data/phonetics/cq.wav,sha256=ooIgH1EsFBZWK-7MuKG9iUEFXa5WUQ0PQiOVqyMwWss,92498
64
+ not1mm/data/phonetics/cq2.wav,sha256=TjOFqV1Dg25DZBV-JLnIMFKNXtHzAvidyfzi0soIq_U,333480
64
65
  not1mm/data/phonetics/d.wav,sha256=YWYt1kCh2AhH3WIbnbrqpychwh9pFpXDxeaFF00cCt4,52524
65
66
  not1mm/data/phonetics/e.wav,sha256=p2zrwjmHTmkQre8AkgUhrDcFPcRqOTu_ux7wPsK6oN4,45700
66
67
  not1mm/data/phonetics/f.wav,sha256=j0dU4zl8mTVdfleR-nHbn1Vphi7O79GCtuXraVjAvD8,53438
@@ -114,7 +115,7 @@ not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9
114
115
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
115
116
  not1mm/lib/settings.py,sha256=7_JFDSKPOd35Gwzqhrbed4EfrlYUm7AEnz2xBRioc-g,13280
116
117
  not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
117
- not1mm/lib/version.py,sha256=h6Nrz1mjz1KQh8T9_5DX4Md1qunZZtYneo3kbFgDpOk,49
118
+ not1mm/lib/version.py,sha256=1ItBCw4c7VEOtdvWAg-RL8jUzGElo6UcBV2_QhhMw8E,49
118
119
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
119
120
  not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
120
121
  not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
@@ -137,7 +138,7 @@ not1mm/plugins/cq_160_ssb.py,sha256=zIwSMAjHSt6W2edrDzVbyTf860JowHoFkU9BKO8Enag,
137
138
  not1mm/plugins/cq_wpx_cw.py,sha256=ZFbcXI8vykXsgMI51YtjM0eQaDOiL0fLG7oAUR1Hfuc,17589
138
139
  not1mm/plugins/cq_wpx_rtty.py,sha256=6zucmuH4Ky5BpgIPVgLxhFv-_HbQdRc5VweutrbACH8,20408
139
140
  not1mm/plugins/cq_wpx_ssb.py,sha256=g4pxNyWX18Ig_IDMbJo1u1T9kImw1feSAgjDZuLRbdY,16239
140
- not1mm/plugins/cq_ww_cw.py,sha256=iN_nARIH70EzNIR2z0rPR7xYNXvVSkDkw5O68k4kxEk,15941
141
+ not1mm/plugins/cq_ww_cw.py,sha256=ioFk94WokRzQFiSUbFXYx17jsQl8S0N9bfi__ykFgqA,16408
141
142
  not1mm/plugins/cq_ww_rtty.py,sha256=B3q0hhmYJ3R50PJoyJ6d5GgATfIjM3Cm8m3OPMVLlhY,20702
142
143
  not1mm/plugins/cq_ww_ssb.py,sha256=tr3XPe0O6-aV_6-QnmWPFJu8S_QtZ68bsbb3l6PBOes,16086
143
144
  not1mm/plugins/cwt.py,sha256=Jlhu19dpIlcAUFIP4Lrjz1raMok0yLyYg9cq7EQylys,16472
@@ -159,9 +160,9 @@ not1mm/plugins/ref_ssb.py,sha256=qzhojE-rL7NaMkb6V2XYwZTlx_GDPw3FXlDivGM4oBk,200
159
160
  not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
160
161
  not1mm/plugins/weekly_rtty.py,sha256=ipgY-KlKlEHafnBg-_AFk9KhiXkGTvb4ENoezIeD7jU,18185
161
162
  not1mm/plugins/winter_field_day.py,sha256=nPuPxdK1FimPsHk-uz_3MA4cBqBp6WcwApk7PZwWeWg,13579
162
- not1mm-24.10.23.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
163
- not1mm-24.10.23.dist-info/METADATA,sha256=bh-Ds6Nil_yzbJ_sqiD5-TJNIHC9MDrXCC0jlMzEQcM,35037
164
- not1mm-24.10.23.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
165
- not1mm-24.10.23.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
166
- not1mm-24.10.23.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
167
- not1mm-24.10.23.dist-info/RECORD,,
163
+ not1mm-24.10.24.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
164
+ not1mm-24.10.24.dist-info/METADATA,sha256=qCTa_iK2MWDAnEE-cDH99vSfIkIKiiWIheprhpoQfyg,35144
165
+ not1mm-24.10.24.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
166
+ not1mm-24.10.24.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
167
+ not1mm-24.10.24.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
168
+ not1mm-24.10.24.dist-info/RECORD,,