not1mm 24.4.2.1__tar.gz → 24.4.4__tar.gz

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.
Files changed (153) hide show
  1. {not1mm-24.4.2.1 → not1mm-24.4.4}/PKG-INFO +2 -1
  2. {not1mm-24.4.2.1 → not1mm-24.4.4}/README.md +1 -0
  3. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/__main__.py +3 -3
  4. not1mm-24.4.4/not1mm/lib/new_contest.py +26 -0
  5. not1mm-24.4.4/not1mm/lib/version.py +3 -0
  6. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/10_10_fall_cw.py +2 -0
  7. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/10_10_spring_cw.py +2 -0
  8. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/10_10_summer_phone.py +2 -0
  9. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/10_10_winter_phone.py +2 -0
  10. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_10m.py +2 -0
  11. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_dx_cw.py +2 -0
  12. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_dx_ssb.py +2 -0
  13. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_field_day.py +2 -0
  14. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_rtty_ru.py +2 -0
  15. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_ss_cw.py +2 -5
  16. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_ss_phone.py +2 -5
  17. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_vhf_jan.py +2 -0
  18. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_vhf_jun.py +2 -0
  19. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/arrl_vhf_sep.py +2 -0
  20. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/canada_day.py +2 -0
  21. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_160_cw.py +2 -0
  22. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_160_ssb.py +2 -0
  23. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_wpx_cw.py +2 -0
  24. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_wpx_ssb.py +2 -0
  25. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_ww_cw.py +2 -0
  26. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cq_ww_ssb.py +2 -0
  27. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/cwt.py +3 -0
  28. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/general_logging.py +1 -1
  29. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/iaru_hf.py +2 -0
  30. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/jidx_cw.py +2 -0
  31. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/jidx_ph.py +2 -0
  32. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/naqp_cw.py +2 -0
  33. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/naqp_ssb.py +2 -0
  34. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/phone_weekly_test.py +2 -0
  35. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/stew_perry_topband.py +1 -0
  36. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/winter_field_day.py +2 -0
  37. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/vfo.py +2 -1
  38. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/PKG-INFO +2 -1
  39. {not1mm-24.4.2.1 → not1mm-24.4.4}/pyproject.toml +1 -1
  40. not1mm-24.4.2.1/not1mm/lib/new_contest.py +0 -15
  41. not1mm-24.4.2.1/not1mm/lib/version.py +0 -3
  42. {not1mm-24.4.2.1 → not1mm-24.4.4}/LICENSE +0 -0
  43. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/__init__.py +0 -0
  44. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/bandmap.py +0 -0
  45. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/checkwindow.py +0 -0
  46. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  47. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/MASTER.SCP +0 -0
  48. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/about.ui +0 -0
  49. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  50. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/bandmap.ui +0 -0
  51. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/check.png +0 -0
  52. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/checkwindow.ui +0 -0
  53. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/configuration.ui +0 -0
  54. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/contests.sql +0 -0
  55. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/cty.json +0 -0
  56. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/cwmacros.txt +0 -0
  57. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/donors.html +0 -0
  58. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/editcontact.ui +0 -0
  59. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/editmacro.ui +0 -0
  60. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/greendot.png +0 -0
  61. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/k6gte-not1mm.desktop +0 -0
  62. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/k6gte.not1mm-128.png +0 -0
  63. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/k6gte.not1mm-32.png +0 -0
  64. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/k6gte.not1mm-64.png +0 -0
  65. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/logwindow.ui +0 -0
  66. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/logwindowx.ui +0 -0
  67. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/main.ui +0 -0
  68. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/new_contest.ui +0 -0
  69. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/not1mm.html +0 -0
  70. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/opon.ui +0 -0
  71. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/0.wav +0 -0
  72. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/1.wav +0 -0
  73. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/2.wav +0 -0
  74. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/3.wav +0 -0
  75. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/4.wav +0 -0
  76. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/5.wav +0 -0
  77. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/6.wav +0 -0
  78. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/7.wav +0 -0
  79. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/73.wav +0 -0
  80. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/8.wav +0 -0
  81. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/9.wav +0 -0
  82. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/a.wav +0 -0
  83. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/again.wav +0 -0
  84. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/b.wav +0 -0
  85. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/c.wav +0 -0
  86. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/contest.wav +0 -0
  87. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/cq.wav +0 -0
  88. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/d.wav +0 -0
  89. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/e.wav +0 -0
  90. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/f.wav +0 -0
  91. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/g.wav +0 -0
  92. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/h.wav +0 -0
  93. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/i.wav +0 -0
  94. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/j.wav +0 -0
  95. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/k.wav +0 -0
  96. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/k6gte.wav +0 -0
  97. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/l.wav +0 -0
  98. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/m.wav +0 -0
  99. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/mynumber.wav +0 -0
  100. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/n.wav +0 -0
  101. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/nil.wav +0 -0
  102. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/o.wav +0 -0
  103. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/p.wav +0 -0
  104. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/q.wav +0 -0
  105. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/r.wav +0 -0
  106. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/roger.wav +0 -0
  107. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/s.wav +0 -0
  108. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/space.wav +0 -0
  109. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/t.wav +0 -0
  110. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/thankyou.wav +0 -0
  111. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  112. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/u.wav +0 -0
  113. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/v.wav +0 -0
  114. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/w.wav +0 -0
  115. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/x.wav +0 -0
  116. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/y.wav +0 -0
  117. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/yourcall.wav +0 -0
  118. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/phonetics/z.wav +0 -0
  119. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/pickcontest.ui +0 -0
  120. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/radio_green.png +0 -0
  121. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/radio_grey.png +0 -0
  122. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/radio_red.png +0 -0
  123. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/reddot.png +0 -0
  124. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/settings.ui +0 -0
  125. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/ssbmacros.txt +0 -0
  126. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/data/vfo.ui +0 -0
  127. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/fsutils.py +0 -0
  128. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/__init__.py +0 -0
  129. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/about.py +0 -0
  130. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/cat_interface.py +0 -0
  131. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/cwinterface.py +0 -0
  132. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/database.py +0 -0
  133. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/edit_contact.py +0 -0
  134. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/edit_macro.py +0 -0
  135. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/edit_opon.py +0 -0
  136. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/edit_station.py +0 -0
  137. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/ham_utility.py +0 -0
  138. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/lookup.py +0 -0
  139. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/multicast.py +0 -0
  140. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/n1mm.py +0 -0
  141. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/plugin_common.py +0 -0
  142. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/select_contest.py +0 -0
  143. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/settings.py +0 -0
  144. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/super_check_partial.py +0 -0
  145. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/lib/versiontest.py +0 -0
  146. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/logwindow.py +0 -0
  147. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm/plugins/__init__.py +0 -0
  148. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/SOURCES.txt +0 -0
  149. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/dependency_links.txt +0 -0
  150. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/entry_points.txt +0 -0
  151. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/requires.txt +0 -0
  152. {not1mm-24.4.2.1 → not1mm-24.4.4}/not1mm.egg-info/top_level.txt +0 -0
  153. {not1mm-24.4.2.1 → not1mm-24.4.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.4.2.1
3
+ Version: 24.4.4
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
@@ -177,6 +177,7 @@ I wish to thank those who've contributed to the project.
177
177
 
178
178
  ## Recent Changes
179
179
 
180
+ - [24-4-4] Added per-contest echange hint when adding new contest.
180
181
  - [24-4-2] Migrated to PyQt6. I'm sure there are broken things.
181
182
  - [24-4-1-2] Added color text indicators to the Check Partial window. Poached the code from @kyleboyle. Thanks! Fixed the Log, VFO and Check Partial windows to be actual docking widgets. Refocus call field after double clicking on item in the check partial window.
182
183
  - [24-4-1] Removed some un-needed loops and widgets from the check window. Fixed docking to the left side.
@@ -145,6 +145,7 @@ I wish to thank those who've contributed to the project.
145
145
 
146
146
  ## Recent Changes
147
147
 
148
+ - [24-4-4] Added per-contest echange hint when adding new contest.
148
149
  - [24-4-2] Migrated to PyQt6. I'm sure there are broken things.
149
150
  - [24-4-1-2] Added color text indicators to the Check Partial window. Poached the code from @kyleboyle. Thanks! Fixed the Log, VFO and Check Partial windows to be actual docking widgets. Refocus call field after double clicking on item in the check partial window.
150
151
  - [24-4-1] Removed some un-needed loops and widgets from the check window. Fixed docking to the left side.
@@ -3181,9 +3181,9 @@ class MainWindow(QtWidgets.QMainWindow):
3181
3181
  )
3182
3182
  try:
3183
3183
  fsutils.openFileWithOS(fsutils.USER_DATA_PATH / macro_file)
3184
- except:
3185
- logger.exception(
3186
- f"Could not open file {fsutils.USER_DATA_PATH / macro_file}"
3184
+ except FileNotFoundError | PermissionError | OSError as err:
3185
+ logger.critical(
3186
+ f"Could not open file {fsutils.USER_DATA_PATH / macro_file} {err}"
3187
3187
  )
3188
3188
 
3189
3189
  def read_cw_macros(self) -> None:
@@ -0,0 +1,26 @@
1
+ """New Contest Dialog"""
2
+
3
+ import importlib
4
+ from PyQt6 import QtWidgets, uic
5
+
6
+
7
+ class NewContest(QtWidgets.QDialog):
8
+ """New Contest"""
9
+
10
+ def __init__(self, app_data_path):
11
+ super().__init__(None)
12
+ uic.loadUi(app_data_path / "new_contest.ui", self)
13
+ self.buttonBox.clicked.connect(self.store)
14
+ self.contest.currentTextChanged.connect(self.add_exchange_hint)
15
+
16
+ def store(self):
17
+ """dialog magic"""
18
+
19
+ def add_exchange_hint(self):
20
+ """add hint"""
21
+ contest_name = self.contest.currentText().lower().replace(" ", "_")
22
+ temp = importlib.import_module(f"not1mm.plugins.{contest_name}")
23
+ if hasattr(temp, "EXCHANGE_HINT"):
24
+ self.exchange.setPlaceholderText(temp.EXCHANGE_HINT)
25
+ else:
26
+ self.exchange.setPlaceholderText("")
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.4.4"
@@ -13,6 +13,8 @@ from not1mm.lib.version import __version__
13
13
 
14
14
  logger = logging.getLogger(__name__)
15
15
 
16
+ EXCHANGE_HINT = "Name + 10-10# + SPC"
17
+
16
18
  name = "10 10 FALL CW"
17
19
  cabrillo_name = "10-10-FALL-CW"
18
20
  mode = "CW" # CW SSB BOTH RTTY
@@ -12,6 +12,8 @@ from not1mm.lib.version import __version__
12
12
 
13
13
  logger = logging.getLogger(__name__)
14
14
 
15
+ EXCHANGE_HINT = "Name + 10-10# + SPC"
16
+
15
17
  name = "10 10 SPRING CW"
16
18
  cabrillo_name = "10-10-SPRING-CW"
17
19
  mode = "CW" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Name + 10-10# + SPC"
18
+
17
19
  name = "10 10 SUMMER PHONE"
18
20
  cabrillo_name = "10-10-SUMMER-PHONE"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Name + 10-10# + SPC"
18
+
17
19
  name = "10 10 WINTER PHONE"
18
20
  cabrillo_name = "10-10-WINTER-PHONE"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -57,6 +57,8 @@ from not1mm.lib.version import __version__
57
57
 
58
58
  logger = logging.getLogger(__name__)
59
59
 
60
+ EXCHANGE_HINT = "State/Province"
61
+
60
62
  name = "ARRL 10M"
61
63
  mode = "BOTH" # CW SSB BOTH RTTY
62
64
  cabrillo_name = "ARRL-10"
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "State/Province"
19
+
18
20
  name = "ARRL DX CW"
19
21
  cabrillo_name = "ARRL-DX-CW"
20
22
  mode = "CW" # CW SSB BOTH RTTY
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "State/Province"
19
+
18
20
  name = "ARRL DX SSB"
19
21
  cabrillo_name = "ARRL-DX-SSB"
20
22
  mode = "SSB" # CW SSB BOTH RTTY
@@ -13,6 +13,8 @@ from not1mm.lib.version import __version__
13
13
 
14
14
  logger = logging.getLogger(__name__)
15
15
 
16
+ EXCHANGE_HINT = "1D ORG"
17
+
16
18
  name = "ARRL Field Day"
17
19
  mode = "BOTH" # CW SSB BOTH RTTY
18
20
  cabrillo_name = "ARRL-FD"
@@ -8,6 +8,8 @@ from pathlib import Path
8
8
 
9
9
  from PyQt6 import QtWidgets
10
10
 
11
+ EXCHANGE_HINT = ""
12
+
11
13
  name = "ARRL RTTY Round Up"
12
14
  cabrillo_name = "ARRL-RTTY"
13
15
  mode = "BOTH" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Prec Call Check Section"
18
+
17
19
  name = "ARRL Sweepstakes CW"
18
20
  cabrillo_name = "ARRL-SS-CW"
19
21
  mode = "CW" # CW SSB BOTH RTTY
@@ -381,23 +383,19 @@ def parse_exchange(self):
381
383
  for tokens in exchange.split():
382
384
  text = ""
383
385
  numb = ""
384
- print(f"'{tokens}'")
385
386
  if tokens.isdigit():
386
- print(f"{tokens} is digits")
387
387
  if sn == "":
388
388
  sn = tokens
389
389
  else:
390
390
  ck = tokens
391
391
  continue
392
392
  elif tokens.isalpha():
393
- print(f"{tokens} is alpha")
394
393
  if len(tokens) == 1:
395
394
  prec = tokens
396
395
  else:
397
396
  sec = tokens
398
397
  continue
399
398
  elif tokens.isalnum():
400
- print("isalnum")
401
399
  if tokens[:1].isalpha():
402
400
  print(f"{tokens} is callsign")
403
401
  call = tokens
@@ -406,7 +404,6 @@ def parse_exchange(self):
406
404
  if c.isalpha():
407
405
  text = tokens[i:]
408
406
  numb = tokens[:i]
409
- print(f"{tokens[:i]} {tokens[i:]}")
410
407
  break
411
408
  if len(text) == 1:
412
409
  prec = text
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Prec Call Check Section"
18
+
17
19
  name = "ARRL Sweepstakes Phone"
18
20
  cabrillo_name = "ARRL-SS-SSB"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -383,30 +385,25 @@ def parse_exchange(self):
383
385
  numb = ""
384
386
  print(f"'{tokens}'")
385
387
  if tokens.isdigit():
386
- print(f"{tokens} is digits")
387
388
  if sn == "":
388
389
  sn = tokens
389
390
  else:
390
391
  ck = tokens
391
392
  continue
392
393
  elif tokens.isalpha():
393
- print(f"{tokens} is alpha")
394
394
  if len(tokens) == 1:
395
395
  prec = tokens
396
396
  else:
397
397
  sec = tokens
398
398
  continue
399
399
  elif tokens.isalnum():
400
- print("isalnum")
401
400
  if tokens[:1].isalpha():
402
- print(f"{tokens} is callsign")
403
401
  call = tokens
404
402
  continue
405
403
  for i, c in enumerate(tokens):
406
404
  if c.isalpha():
407
405
  text = tokens[i:]
408
406
  numb = tokens[:i]
409
- print(f"{tokens[:i]} {tokens[i:]}")
410
407
  break
411
408
  if len(text) == 1:
412
409
  prec = text
@@ -48,6 +48,8 @@ from not1mm.lib.version import __version__
48
48
 
49
49
  logger = logging.getLogger(__name__)
50
50
 
51
+ EXCHANGE_HINT = "4-character grid square"
52
+
51
53
  name = "ARRL VHF JAN"
52
54
  mode = "BOTH" # CW SSB BOTH RTTY
53
55
  cabrillo_name = "ARRL-VHF-JAN"
@@ -16,6 +16,8 @@ from not1mm.lib.version import __version__
16
16
 
17
17
  logger = logging.getLogger(__name__)
18
18
 
19
+ EXCHANGE_HINT = "4-character grid square"
20
+
19
21
  name = "ARRL VHF JUN"
20
22
  mode = "BOTH" # CW SSB BOTH RTTY
21
23
  cabrillo_name = "ARRL-VHF-JUN"
@@ -16,6 +16,8 @@ from not1mm.lib.version import __version__
16
16
 
17
17
  logger = logging.getLogger(__name__)
18
18
 
19
+ EXCHANGE_HINT = "4-character grid square"
20
+
19
21
  name = "ARRL VHF SEP"
20
22
  mode = "BOTH" # CW SSB BOTH RTTY
21
23
  cabrillo_name = "ARRL-VHF-SEP"
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Province/Territory"
18
+
17
19
  name = "CANADA DAY"
18
20
  cabrillo_name = "CANADA-DAY"
19
21
  mode = "BOTH" # CW SSB BOTH RTTY
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "ST/Prov or DX CQ Zone"
19
+
18
20
  name = "CQ 160 CW"
19
21
  cabrillo_name = "CQ-160-CW"
20
22
  mode = "CW" # CW SSB BOTH RTTY
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "ST/Prov or DX CQ Zone"
19
+
18
20
  name = "CQ 160 SSB"
19
21
  cabrillo_name = "CQ-160-SSB"
20
22
  mode = "SSB" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "#"
18
+
17
19
  name = "CQ WPX CW"
18
20
  cabrillo_name = "CQ-WPX-CW"
19
21
  mode = "CW" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "#"
18
+
17
19
  name = "CQ WPX SSB"
18
20
  cabrillo_name = "CQ-WPX-SSB"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "CQ Zone No."
18
+
17
19
  name = "CQ WW CW"
18
20
  cabrillo_name = "CQ-WW-CW"
19
21
  mode = "CW" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "CQ Zone No."
18
+
17
19
  name = "CQ WW SSB"
18
20
  cabrillo_name = "CQ-WW-SSB"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -13,6 +13,9 @@ from not1mm.lib.plugin_common import gen_adif, get_points
13
13
  from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
+
17
+ EXCHANGE_HINT = "Name + Member No./'CWA'"
18
+
16
19
  name = "CWT"
17
20
  mode = "CW" # CW SSB BOTH RTTY
18
21
  # columns = [0, 1, 2, 3, 4, 5, 6, 11, 15]
@@ -10,7 +10,7 @@ from not1mm.lib.plugin_common import gen_adif, get_points
10
10
  from not1mm.lib.version import __version__
11
11
 
12
12
  logger = logging.getLogger(__name__)
13
-
13
+ EXCHANGE_HINT = ""
14
14
  name = "General Logging"
15
15
  cabrillo_name = "General-Logging"
16
16
  mode = "BOTH" # CW SSB BOTH RTTY
@@ -27,6 +27,8 @@ from not1mm.lib.version import __version__
27
27
 
28
28
  logger = logging.getLogger(__name__)
29
29
 
30
+ EXCHANGE_HINT = "ITU Zone"
31
+
30
32
  name = "IARU HF"
31
33
  cabrillo_name = "IARU-HF"
32
34
  mode = "BOTH" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Prefecture or CQ Zone"
18
+
17
19
  name = "JIDX CW"
18
20
  cabrillo_name = "JIDX-CW"
19
21
  mode = "CW" # CW SSB BOTH RTTY
@@ -14,6 +14,8 @@ from not1mm.lib.version import __version__
14
14
 
15
15
  logger = logging.getLogger(__name__)
16
16
 
17
+ EXCHANGE_HINT = "Prefecture or CQ Zone"
18
+
17
19
  name = "JIDX PH"
18
20
  cabrillo_name = "JIDX-PH"
19
21
  mode = "SSB" # CW SSB BOTH RTTY
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "Name or Name + SPC"
19
+
18
20
  name = "NAQP CW"
19
21
  cabrillo_name = "NAQP-CW"
20
22
  mode = "CW" # CW SSB BOTH RTTY
@@ -15,6 +15,8 @@ from not1mm.lib.version import __version__
15
15
 
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
+ EXCHANGE_HINT = "Name or Name + SPC"
19
+
18
20
  name = "NAQP SSB"
19
21
  cabrillo_name = "NAQP-SSB"
20
22
  mode = "SSB" # CW SSB BOTH RTTY
@@ -37,6 +37,8 @@ from not1mm.lib.version import __version__
37
37
 
38
38
  logger = logging.getLogger(__name__)
39
39
 
40
+ EXCHANGE_HINT = "Name or Name + SPC"
41
+
40
42
  name = "PHONE WEEKLY TEST"
41
43
  cabrillo_name = "PHONE-WEEKLY-TEST"
42
44
  mode = "SSB" # CW SSB BOTH RTTY
@@ -39,6 +39,7 @@ from not1mm.lib.ham_utility import distance
39
39
 
40
40
  logger = logging.getLogger(__name__)
41
41
 
42
+ EXCHANGE_HINT = "4-Character grid square"
42
43
  cabrillo_name = "STEW-PERRY"
43
44
  name = "Stew Perry Topband"
44
45
 
@@ -12,6 +12,8 @@ from not1mm.lib.version import __version__
12
12
 
13
13
  logger = logging.getLogger(__name__)
14
14
 
15
+ EXCHANGE_HINT = "1O ORG"
16
+
15
17
  cabrillo_name = "WFD"
16
18
  name = "Winter Field Day"
17
19
  # 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
@@ -328,7 +328,8 @@ class VfoWindow(QDockWidget):
328
328
  Display an alert box with the supplied message.
329
329
  """
330
330
  message_box = QtWidgets.QMessageBox()
331
- message_box.setPalette(self.current_palette)
331
+ if self.current_palette:
332
+ message_box.setPalette(self.current_palette)
332
333
  message_box.setIcon(QtWidgets.QMessageBox.Icon.Information)
333
334
  message_box.setText(message)
334
335
  message_box.setWindowTitle("Information")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.4.2.1
3
+ Version: 24.4.4
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
@@ -177,6 +177,7 @@ I wish to thank those who've contributed to the project.
177
177
 
178
178
  ## Recent Changes
179
179
 
180
+ - [24-4-4] Added per-contest echange hint when adding new contest.
180
181
  - [24-4-2] Migrated to PyQt6. I'm sure there are broken things.
181
182
  - [24-4-1-2] Added color text indicators to the Check Partial window. Poached the code from @kyleboyle. Thanks! Fixed the Log, VFO and Check Partial windows to be actual docking widgets. Refocus call field after double clicking on item in the check partial window.
182
183
  - [24-4-1] Removed some un-needed loops and widgets from the check window. Fixed docking to the left side.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.4.2.1"
7
+ version = "24.4.4"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,15 +0,0 @@
1
- """New Contest Dialog"""
2
-
3
- from PyQt6 import QtWidgets, uic
4
-
5
-
6
- class NewContest(QtWidgets.QDialog):
7
- """New Contest"""
8
-
9
- def __init__(self, app_data_path):
10
- super().__init__(None)
11
- uic.loadUi(app_data_path / "new_contest.ui", self)
12
- self.buttonBox.clicked.connect(self.store)
13
-
14
- def store(self):
15
- """dialog magic"""
@@ -1,3 +0,0 @@
1
- """It's the version"""
2
-
3
- __version__ = "24.4.2.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes