not1mm 24.10.2__py3-none-any.whl → 24.10.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
@@ -125,6 +125,7 @@ class MainWindow(QtWidgets.QMainWindow):
125
125
  "cluster_port": 7373,
126
126
  "cluster_filter": "Set DX Filter SpotterCont=NA",
127
127
  "cluster_mode": "OPEN",
128
+ "cluster_expire": 1,
128
129
  "logwindow": False,
129
130
  "bandmapwindow": False,
130
131
  "checkwindow": False,
@@ -600,6 +601,7 @@ class MainWindow(QtWidgets.QMainWindow):
600
601
  self.bandmap_window.setFeatures(dockfeatures)
601
602
  self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.bandmap_window)
602
603
  self.bandmap_window.hide()
604
+ self.bandmap_window.cluster_expire.connect(self.cluster_expire_updated)
603
605
 
604
606
  self.show_splash_msg("Setting up CheckWindow.")
605
607
  self.check_window = CheckWindow()
@@ -658,6 +660,11 @@ class MainWindow(QtWidgets.QMainWindow):
658
660
  )
659
661
  QCoreApplication.processEvents()
660
662
 
663
+ def cluster_expire_updated(self, number):
664
+ """signal from bandmap"""
665
+ self.pref["cluster_expire"] = int(number)
666
+ self.write_preference()
667
+
661
668
  def fldigi_qso(self, result: str):
662
669
  """
663
670
  gets called when there is a new fldigi qso logged.
@@ -1084,6 +1091,7 @@ class MainWindow(QtWidgets.QMainWindow):
1084
1091
  cmd["station"] = platform.node()
1085
1092
  self.multicast_interface.send_as_json(cmd)
1086
1093
  self.clearinputs()
1094
+ self.open_contest()
1087
1095
 
1088
1096
  def new_contest(self) -> None:
1089
1097
  """Create new contest in existing database."""
@@ -2584,7 +2592,6 @@ class MainWindow(QtWidgets.QMainWindow):
2584
2592
  self.radio_thread.finished.connect(self.rig_control.deleteLater)
2585
2593
  self.rig_control.poll_callback.connect(self.poll_radio)
2586
2594
  self.radio_thread.start()
2587
- # self.rig_control.delta = 1
2588
2595
 
2589
2596
  if self.pref.get("userigctld", False):
2590
2597
  logger.debug(
@@ -2601,7 +2608,6 @@ class MainWindow(QtWidgets.QMainWindow):
2601
2608
  self.radio_thread.finished.connect(self.rig_control.deleteLater)
2602
2609
  self.rig_control.poll_callback.connect(self.poll_radio)
2603
2610
  self.radio_thread.start()
2604
- # self.rig_control.delta = 1
2605
2611
 
2606
2612
  if self.pref.get("cwtype", 0) == 0:
2607
2613
  self.cw = None
not1mm/bandmap.py CHANGED
@@ -21,6 +21,7 @@ from json import loads
21
21
  from PyQt6 import QtCore, QtGui, QtWidgets, uic, QtNetwork
22
22
  from PyQt6.QtGui import QColorConstants, QPalette, QColor
23
23
  from PyQt6.QtWidgets import QDockWidget
24
+ from PyQt6.QtCore import pyqtSignal
24
25
 
25
26
  import not1mm.fsutils as fsutils
26
27
  from not1mm.lib.multicast import Multicast
@@ -322,6 +323,7 @@ class BandMapWindow(QDockWidget):
322
323
  worked_list = {}
323
324
  multicast_interface = None
324
325
  text_color = QColor(45, 45, 45)
326
+ cluster_expire = pyqtSignal(str)
325
327
 
326
328
  def __init__(self):
327
329
  super().__init__()
@@ -329,6 +331,9 @@ class BandMapWindow(QDockWidget):
329
331
 
330
332
  uic.loadUi(fsutils.APP_DATA_PATH / "bandmap.ui", self)
331
333
  self.settings = self.get_settings()
334
+ self.clear_spot_olderSpinBox.setValue(
335
+ int(self.settings.get("cluster_expire", 1))
336
+ )
332
337
  self.agetime = self.clear_spot_olderSpinBox.value()
333
338
  self.clear_spot_olderSpinBox.valueChanged.connect(self.spot_aging_changed)
334
339
  self.clearButton.clicked.connect(self.clear_spots)
@@ -876,6 +881,7 @@ class BandMapWindow(QDockWidget):
876
881
  def spot_aging_changed(self) -> None:
877
882
  """Called when spot aging spinbox is changed."""
878
883
  self.agetime = self.clear_spot_olderSpinBox.value()
884
+ self.cluster_expire.emit(str(self.agetime))
879
885
 
880
886
  def showContextMenu(self) -> None:
881
887
  """doc string for the linter"""
not1mm/lib/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.10.2"
3
+ __version__ = "24.10.5.1"
not1mm/test.py CHANGED
@@ -1,47 +0,0 @@
1
- # import xmltodict
2
-
3
- # import xmlrpc.client
4
-
5
- # target = "http://127.0.0.1:8421"
6
- # server = xmlrpc.client.ServerProxy(target)
7
- # adif = "<QSO_DATE:8>20150721<QSO_DATE_OFF:8>20150721<TIME_ON:4>1333<TIME_OFF:6>133436<CALL:5>N3FJP<FREQ:8>3.081500<MODE:0><RST_SENT:0><RST_RCVD:0><TX_PWR:0><NAME:5>Glenn<QTH:7>Bel Air<STATE:2>MD<VE_PROV:0><COUNTRY:13>United States<GRIDSQUARE:6>FM19tm<STX:0><SRX:0><SRX_STRING:0><STX_STRING:0><NOTES:0><IOTA:0><DXCC:0><QSL_VIA:0><QSLRDATE:0><QSLSDATE:0><eor>"
8
- # response = server.log.add_record(adif)
9
-
10
-
11
- # xml = '<?xml version="1.0"?>\n<HamQTH version="2.8" xmlns="https://www.hamqth.com">\n <search>\n <callsign>K6GTE</callsign>\n <nick>Mike</nick>\n <qth>Anaheim</qth>\n <country>United States</country>\n <adif>291</adif>\n <itu>6</itu>\n <cq>3</cq>\n <grid>DM13AT</grid>\n <adr_name>Michael C Bridak</adr_name>\n <adr_street1>2854 W Bridgeport Ave</adr_street1>\n <adr_city>Anaheim</adr_city>\n <adr_zip>92804</adr_zip>\n <adr_country>United States</adr_country>\n <adr_adif>291</adr_adif>\n <us_state>CA</us_state>\n <us_county>Orange</us_county>\n <lotw>Y</lotw>\n <qsldirect>Y</qsldirect>\n <qsl>?</qsl>\n <eqsl>N</eqsl>\n <email>michael.bridak@gmail.com</email>\n <birth_year>1967</birth_year>\n <lic_year>2017</lic_year>\n <latitude>33.81</latitude>\n <longitude>-117.97</longitude>\n <continent>NA</continent>\n <utc_offset>-8</utc_offset>\n <picture>https://www.hamqth.com/userfiles/k/k6/k6gte/_header/header.jpg?ver=3</picture>\n </search>\n</HamQTH>'
12
- # result = xmltodict.parse(xml)
13
-
14
- # import xmlrpc.client
15
-
16
- # target = "http://127.0.0.1:7362"
17
- # payload = "Hello^r"
18
- # response = ""
19
-
20
- # try:
21
- # server = xmlrpc.client.ServerProxy(target)
22
- # response = server.logbook.last_record()
23
- # response = server.main.tx()
24
- # response = server.text.add_tx(payload)
25
- # except ConnectionRefusedError:
26
- # ...
27
-
28
- # print(f"{response=}")
29
-
30
-
31
- # from not1mm.radio import Radio
32
- from not1mm.lib.cat_interface import CAT
33
-
34
- rig_control = None
35
-
36
- print(f"{rig_control and rig_control.online}")
37
-
38
- rig_control = CAT("rigctld", "127.0.0.1", 4532)
39
-
40
- print(f"{rig_control and rig_control.online}")
41
-
42
- modes = rig_control.get_mode_list()
43
- mode = rig_control.get_mode()
44
- vfo = rig_control.get_vfo()
45
-
46
- print(f"{modes=}\n")
47
- print(f"{vfo=} {mode=}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.2
3
+ Version: 24.10.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
@@ -219,6 +219,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
219
219
 
220
220
  ## Recent Changes
221
221
 
222
+ - [24-10-5-1] Store the bandmap spots age timer in the preferences.
223
+ - [24-10-5] Force reselction of contest after different DB opened.
222
224
  - [24-10-2] Add WPX RTTY.
223
225
  - [24-10-1] Merged PR removing leading zeros from serial numbers. Merged PR correcting the parsing of lookups for previous name and state in the CWT.
224
226
 
@@ -338,10 +340,6 @@ pipx ensurepath
338
340
  </details>
339
341
  <br>
340
342
 
341
- You can now open a new terminal and type not1mm. On it's first run, it may or
342
- may not install a lovely non AI generated icon, which you can later click on to
343
- launch the application.
344
-
345
343
  ### Python, PyPI, pip and pipx
346
344
 
347
345
  This software is a Python package hosted on PyPI, and installable with the pip
@@ -607,6 +605,7 @@ appear. Those without will not.
607
605
  - ARRL VHF
608
606
  - Weekly RTTY
609
607
  - CQ WW DX RTTY
608
+ - CQ WPX RTTY
610
609
 
611
610
  not1mm listens for WSJT-X UDP traffic on the Multicast address 224.0.0.1:2237.
612
611
  No setup is needed to be done on not1mm's side. That's good because I'm lazy.
@@ -1,12 +1,12 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=yw-_P3yDCTpvj2WuXqbBvOht4SMpA8DJGwwmldg1Kf8,131265
3
- not1mm/bandmap.py,sha256=1b5tXCfGTnpqqn6hPNt7zRA8SmuwSXzSwNHZXhCRt70,31434
2
+ not1mm/__main__.py,sha256=8bgimshIW_mPwFTv6_j2cKutj3PNYyZgB3zqRzKrhKU,131487
3
+ not1mm/bandmap.py,sha256=P91rYGmd8r5K6TRNZt7kqqW6zCBVlFA1_n9-V7as1WE,31672
4
4
  not1mm/checkwindow.py,sha256=aI-nr8OF90IWV7R_XRdmitvBJ9M85evCs72HoU3Jnvc,10374
5
5
  not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
6
6
  not1mm/logwindow.py,sha256=pwhiwolmGnW01LF4sjlu3ywLsgfxL6KuGuKuYKYmgeY,44403
7
7
  not1mm/lookupservice.py,sha256=jsFg5tsB9cVnahLP-hI3CMwbjlEpMx944O8RLWntAy4,3342
8
8
  not1mm/radio.py,sha256=WM5hRTKUSH6D1Hxk240kYVlSuMaVp7dgVn_GAkck8_g,4498
9
- not1mm/test.py,sha256=HI1lUcKncR-5QXpBuepliRc4HYSSOcwZJWXrP6yjXb8,2453
9
+ not1mm/test.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  not1mm/vfo.py,sha256=IvmUQYMIPzLJw_BHQGis4J_IEW-vlBtdfxZLXPh7OzI,12335
11
11
  not1mm/voice_keying.py,sha256=sA3gw5_k7kShTg2qhG7HkKDM5M6KheJVRkAc_C7mxDk,3006
12
12
  not1mm/data/JetBrainsMono-ExtraLight.ttf,sha256=g5Hn7BPounWMGDj1a8zZcyKMz03HSqW__pUluRR7Evg,274144
@@ -114,7 +114,7 @@ not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9
114
114
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
115
115
  not1mm/lib/settings.py,sha256=0Su8BQM4haVhc_P74q8UhzRZxtgWhM40UmVtQdMJQeM,10022
116
116
  not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
117
- not1mm/lib/version.py,sha256=oVIPDmFc6GlXPQNej28LeA_6UeX3YcWigdy6XmGWvx0,48
117
+ not1mm/lib/version.py,sha256=5uwpZq4lmKw9eq6mo-j6TGPKC-i7jRbA_5Tg5_AjOyo,50
118
118
  not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
119
119
  not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
120
120
  not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
@@ -157,9 +157,9 @@ not1mm/plugins/ref_cw.py,sha256=aWjHHkqIKutjRUtzh09y5haFfnZK9poRQDWRQMDRxxU,1632
157
157
  not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
158
158
  not1mm/plugins/weekly_rtty.py,sha256=DQcy3SY0Zn56EdlYGf3NxrRhTnkNa5IqRQPRQdKDSPs,14255
159
159
  not1mm/plugins/winter_field_day.py,sha256=4rcfRtobwjHO6BNL3WOTHzBmyyeuX79BNGBG8PfjrI8,10238
160
- not1mm-24.10.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
161
- not1mm-24.10.2.dist-info/METADATA,sha256=u5KI88xY0PCI00BaZts4w6c4NvnLOmW_i4CZraKr8fY,30694
162
- not1mm-24.10.2.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
163
- not1mm-24.10.2.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
164
- not1mm-24.10.2.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
165
- not1mm-24.10.2.dist-info/RECORD,,
160
+ not1mm-24.10.5.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
161
+ not1mm-24.10.5.1.dist-info/METADATA,sha256=Cto5bth3V2_4VBPF_bV9cenpvAdRaLJ2xo_p6Xh3Mgk,30662
162
+ not1mm-24.10.5.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
163
+ not1mm-24.10.5.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
164
+ not1mm-24.10.5.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
165
+ not1mm-24.10.5.1.dist-info/RECORD,,