not1mm 24.10.17.1__tar.gz → 24.10.18__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 (173) hide show
  1. {not1mm-24.10.17.1 → not1mm-24.10.18}/PKG-INFO +3 -1
  2. {not1mm-24.10.17.1 → not1mm-24.10.18}/README.md +2 -0
  3. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/bandmap.py +2 -1
  4. not1mm-24.10.18/not1mm/lib/version.py +3 -0
  5. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_ss_cw.py +92 -1
  6. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_ss_phone.py +92 -1
  7. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/PKG-INFO +3 -1
  8. {not1mm-24.10.17.1 → not1mm-24.10.18}/pyproject.toml +1 -1
  9. not1mm-24.10.17.1/not1mm/lib/version.py +0 -3
  10. {not1mm-24.10.17.1 → not1mm-24.10.18}/LICENSE +0 -0
  11. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/__init__.py +0 -0
  12. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/__main__.py +0 -0
  13. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/checkwindow.py +0 -0
  14. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  15. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/MASTER.SCP +0 -0
  16. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/about.ui +0 -0
  17. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  18. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/bandmap.ui +0 -0
  19. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/check.png +0 -0
  20. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/checkwindow.ui +0 -0
  21. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/configuration.ui +0 -0
  22. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/contests.sql +0 -0
  23. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/cty.json +0 -0
  24. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/cwmacros.txt +0 -0
  25. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/donors.html +0 -0
  26. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/editcontact.ui +0 -0
  27. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/editmacro.ui +0 -0
  28. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/greendot.png +0 -0
  29. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/k6gte-not1mm.desktop +0 -0
  30. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/k6gte.not1mm-128.png +0 -0
  31. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/k6gte.not1mm-32.png +0 -0
  32. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/k6gte.not1mm-64.png +0 -0
  33. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/logwindow.ui +0 -0
  34. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/logwindowx.ui +0 -0
  35. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/main.ui +0 -0
  36. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/new_contest.ui +0 -0
  37. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/not1mm.html +0 -0
  38. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/opon.ui +0 -0
  39. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/0.wav +0 -0
  40. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/1.wav +0 -0
  41. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/2.wav +0 -0
  42. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/3.wav +0 -0
  43. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/4.wav +0 -0
  44. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/5.wav +0 -0
  45. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/6.wav +0 -0
  46. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/7.wav +0 -0
  47. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/73.wav +0 -0
  48. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/8.wav +0 -0
  49. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/9.wav +0 -0
  50. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/a.wav +0 -0
  51. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/again.wav +0 -0
  52. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/b.wav +0 -0
  53. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/c.wav +0 -0
  54. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/contest.wav +0 -0
  55. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/cq.wav +0 -0
  56. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/d.wav +0 -0
  57. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/e.wav +0 -0
  58. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/f.wav +0 -0
  59. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/g.wav +0 -0
  60. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/h.wav +0 -0
  61. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/i.wav +0 -0
  62. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/j.wav +0 -0
  63. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/k.wav +0 -0
  64. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/k6gte.wav +0 -0
  65. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/l.wav +0 -0
  66. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/m.wav +0 -0
  67. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/mynumber.wav +0 -0
  68. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/n.wav +0 -0
  69. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/nil.wav +0 -0
  70. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/o.wav +0 -0
  71. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/p.wav +0 -0
  72. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/q.wav +0 -0
  73. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/r.wav +0 -0
  74. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/roger.wav +0 -0
  75. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/s.wav +0 -0
  76. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/space.wav +0 -0
  77. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/t.wav +0 -0
  78. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/thankyou.wav +0 -0
  79. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  80. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/u.wav +0 -0
  81. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/v.wav +0 -0
  82. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/w.wav +0 -0
  83. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/x.wav +0 -0
  84. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/y.wav +0 -0
  85. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/yourcall.wav +0 -0
  86. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/phonetics/z.wav +0 -0
  87. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/pickcontest.ui +0 -0
  88. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/radio_green.png +0 -0
  89. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/radio_grey.png +0 -0
  90. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/radio_red.png +0 -0
  91. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/reddot.png +0 -0
  92. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/rttymacros.txt +0 -0
  93. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/settings.ui +0 -0
  94. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/splash.png +0 -0
  95. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/ssbmacros.txt +0 -0
  96. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/data/vfo.ui +0 -0
  97. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/fsutils.py +0 -0
  98. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/__init__.py +0 -0
  99. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/about.py +0 -0
  100. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/cat_interface.py +0 -0
  101. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/cwinterface.py +0 -0
  102. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/database.py +0 -0
  103. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/edit_contact.py +0 -0
  104. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/edit_macro.py +0 -0
  105. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/edit_opon.py +0 -0
  106. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/edit_station.py +0 -0
  107. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/fldigi_sendstring.py +0 -0
  108. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/fldigi_watcher.py +0 -0
  109. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/ft8_watcher.py +0 -0
  110. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/ham_utility.py +0 -0
  111. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/lookup.py +0 -0
  112. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/multicast.py +0 -0
  113. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/n1mm.py +0 -0
  114. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/new_contest.py +0 -0
  115. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/playsound.py +0 -0
  116. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/plugin_common.py +0 -0
  117. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/select_contest.py +0 -0
  118. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/settings.py +0 -0
  119. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/super_check_partial.py +0 -0
  120. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lib/versiontest.py +0 -0
  121. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/logwindow.py +0 -0
  122. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/lookupservice.py +0 -0
  123. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/10_10_fall_cw.py +0 -0
  124. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/10_10_spring_cw.py +0 -0
  125. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/10_10_summer_phone.py +0 -0
  126. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/10_10_winter_phone.py +0 -0
  127. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/__init__.py +0 -0
  128. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_10m.py +0 -0
  129. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_dx_cw.py +0 -0
  130. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  131. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_field_day.py +0 -0
  132. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  133. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  134. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  135. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  136. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/canada_day.py +0 -0
  137. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_160_cw.py +0 -0
  138. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_160_ssb.py +0 -0
  139. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_wpx_cw.py +0 -0
  140. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  141. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  142. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_ww_cw.py +0 -0
  143. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_ww_rtty.py +0 -0
  144. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cq_ww_ssb.py +0 -0
  145. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/cwt.py +0 -0
  146. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/general_logging.py +0 -0
  147. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/helvetia.py +0 -0
  148. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  149. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  150. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/iaru_hf.py +0 -0
  151. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/icwc_mst.py +0 -0
  152. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/jidx_cw.py +0 -0
  153. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/jidx_ph.py +0 -0
  154. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/k1usn_sst.py +0 -0
  155. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/naqp_cw.py +0 -0
  156. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/naqp_rtty.py +0 -0
  157. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/naqp_ssb.py +0 -0
  158. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/phone_weekly_test.py +0 -0
  159. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/ref_cw.py +0 -0
  160. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/stew_perry_topband.py +0 -0
  161. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/weekly_rtty.py +0 -0
  162. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/plugins/winter_field_day.py +0 -0
  163. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/radio.py +0 -0
  164. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/test.py +0 -0
  165. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/vfo.py +0 -0
  166. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm/voice_keying.py +0 -0
  167. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/SOURCES.txt +0 -0
  168. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/dependency_links.txt +0 -0
  169. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/entry_points.txt +0 -0
  170. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/requires.txt +0 -0
  171. {not1mm-24.10.17.1 → not1mm-24.10.18}/not1mm.egg-info/top_level.txt +0 -0
  172. {not1mm-24.10.17.1 → not1mm-24.10.18}/setup.cfg +0 -0
  173. {not1mm-24.10.17.1 → not1mm-24.10.18}/test/contests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.17.1
3
+ Version: 24.10.18
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
@@ -231,6 +231,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
231
231
 
232
232
  ## Recent Changes
233
233
 
234
+ - [24-10-18] Fixed marked spots showing the correct time.
235
+ - [24-10-17-2] Add ESM to ARRL Sweepstakes.
234
236
  - [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
235
237
  - [24-10-17] Increased max CW speed to 99, 'cause people be crazy. Trying smaller timeout for the rigctlsocket. Not having the checkwindow process events while not visible since it's a resource hog.
236
238
  - [24-10-15-1] Fix callsigns with a slash failing check during ESM.
@@ -200,6 +200,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
200
200
 
201
201
  ## Recent Changes
202
202
 
203
+ - [24-10-18] Fixed marked spots showing the correct time.
204
+ - [24-10-17-2] Add ESM to ARRL Sweepstakes.
203
205
  - [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
204
206
  - [24-10-17] Increased max CW speed to 99, 'cause people be crazy. Trying smaller timeout for the rigctlsocket. Not having the checkwindow process events while not visible since it's a resource hog.
205
207
  - [24-10-15-1] Fix callsigns with a slash failing check during ESM.
@@ -493,8 +493,9 @@ class BandMapWindow(QDockWidget):
493
493
  if packet.get("cmd", "") == "MARKDX":
494
494
  dx = packet.get("dx", "")
495
495
  freq = packet.get("freq", 0.0)
496
+ the_UTC_time = datetime.now(timezone.utc).isoformat(" ")[:19].split()[1]
496
497
  spot = {
497
- "ts": "2099-01-01 01:00:00",
498
+ "ts": "2099-01-01 " + the_UTC_time,
498
499
  "callsign": dx,
499
500
  "freq": freq / 1000,
500
501
  "band": self.currentBand.name,
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.10.18"
@@ -399,7 +399,7 @@ def parse_exchange(self):
399
399
  continue
400
400
  elif tokens.isalnum():
401
401
  if tokens[:1].isalpha():
402
- print(f"{tokens} is callsign")
402
+ # print(f"{tokens} is callsign")
403
403
  call = tokens
404
404
  continue
405
405
  for i, c in enumerate(tokens):
@@ -416,3 +416,94 @@ def parse_exchange(self):
416
416
  label = f"sn:{sn} p:{prec} cl:{call} ck:{ck} sec:{sec}"
417
417
  self.exch_label.setText(label)
418
418
  return (sn, prec, ck, sec, call)
419
+
420
+
421
+ def process_esm(self, new_focused_widget=None, with_enter=False):
422
+ """ESM State Machine"""
423
+
424
+ # self.pref["run_state"]
425
+
426
+ # -----===== Assigned F-Keys =====-----
427
+ # self.esm_dict["CQ"]
428
+ # self.esm_dict["EXCH"]
429
+ # self.esm_dict["QRZ"]
430
+ # self.esm_dict["AGN"]
431
+ # self.esm_dict["HISCALL"]
432
+ # self.esm_dict["MYCALL"]
433
+ # self.esm_dict["QSOB4"]
434
+
435
+ # ----==== text fields ====----
436
+ # self.callsign
437
+ # self.sent
438
+ # self.receive
439
+ # self.other_1
440
+ # self.other_2
441
+
442
+ if new_focused_widget is not None:
443
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
444
+
445
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
446
+
447
+ for a_button in [
448
+ self.esm_dict["CQ"],
449
+ self.esm_dict["EXCH"],
450
+ self.esm_dict["QRZ"],
451
+ self.esm_dict["AGN"],
452
+ self.esm_dict["HISCALL"],
453
+ self.esm_dict["MYCALL"],
454
+ self.esm_dict["QSOB4"],
455
+ ]:
456
+ if a_button is not None:
457
+ self.restore_button_color(a_button)
458
+
459
+ buttons_to_send = []
460
+
461
+ if self.pref.get("run_state"):
462
+ if self.current_widget == "callsign":
463
+ if len(self.callsign.text()) < 3:
464
+ self.make_button_green(self.esm_dict["CQ"])
465
+ buttons_to_send.append(self.esm_dict["CQ"])
466
+ elif len(self.callsign.text()) > 2:
467
+ self.make_button_green(self.esm_dict["HISCALL"])
468
+ self.make_button_green(self.esm_dict["EXCH"])
469
+ buttons_to_send.append(self.esm_dict["HISCALL"])
470
+ buttons_to_send.append(self.esm_dict["EXCH"])
471
+
472
+ elif self.current_widget == "other_2":
473
+ if self.other_2.text() == "":
474
+ self.make_button_green(self.esm_dict["AGN"])
475
+ buttons_to_send.append(self.esm_dict["AGN"])
476
+ else:
477
+ self.make_button_green(self.esm_dict["QRZ"])
478
+ buttons_to_send.append(self.esm_dict["QRZ"])
479
+ buttons_to_send.append("LOGIT")
480
+
481
+ if with_enter is True and bool(len(buttons_to_send)):
482
+ for button in buttons_to_send:
483
+ if button:
484
+ if button == "LOGIT":
485
+ self.save_contact()
486
+ continue
487
+ self.process_function_key(button)
488
+ else:
489
+ if self.current_widget == "callsign":
490
+ if len(self.callsign.text()) > 2:
491
+ self.make_button_green(self.esm_dict["MYCALL"])
492
+ buttons_to_send.append(self.esm_dict["MYCALL"])
493
+
494
+ elif self.current_widget == "other_2":
495
+ if self.other_2.text() == "":
496
+ self.make_button_green(self.esm_dict["AGN"])
497
+ buttons_to_send.append(self.esm_dict["AGN"])
498
+ else:
499
+ self.make_button_green(self.esm_dict["EXCH"])
500
+ buttons_to_send.append(self.esm_dict["EXCH"])
501
+ buttons_to_send.append("LOGIT")
502
+
503
+ if with_enter is True and bool(len(buttons_to_send)):
504
+ for button in buttons_to_send:
505
+ if button:
506
+ if button == "LOGIT":
507
+ self.save_contact()
508
+ continue
509
+ self.process_function_key(button)
@@ -385,7 +385,7 @@ def parse_exchange(self):
385
385
  for tokens in exchange.split():
386
386
  text = ""
387
387
  numb = ""
388
- print(f"'{tokens}'")
388
+ # print(f"'{tokens}'")
389
389
  if tokens.isdigit():
390
390
  if sn == "":
391
391
  sn = tokens
@@ -416,3 +416,94 @@ def parse_exchange(self):
416
416
  label = f"sn:{sn} p:{prec} cl:{call} ck:{ck} sec:{sec}"
417
417
  self.exch_label.setText(label)
418
418
  return (sn, prec, ck, sec, call)
419
+
420
+
421
+ def process_esm(self, new_focused_widget=None, with_enter=False):
422
+ """ESM State Machine"""
423
+
424
+ # self.pref["run_state"]
425
+
426
+ # -----===== Assigned F-Keys =====-----
427
+ # self.esm_dict["CQ"]
428
+ # self.esm_dict["EXCH"]
429
+ # self.esm_dict["QRZ"]
430
+ # self.esm_dict["AGN"]
431
+ # self.esm_dict["HISCALL"]
432
+ # self.esm_dict["MYCALL"]
433
+ # self.esm_dict["QSOB4"]
434
+
435
+ # ----==== text fields ====----
436
+ # self.callsign
437
+ # self.sent
438
+ # self.receive
439
+ # self.other_1
440
+ # self.other_2
441
+
442
+ if new_focused_widget is not None:
443
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
444
+
445
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
446
+
447
+ for a_button in [
448
+ self.esm_dict["CQ"],
449
+ self.esm_dict["EXCH"],
450
+ self.esm_dict["QRZ"],
451
+ self.esm_dict["AGN"],
452
+ self.esm_dict["HISCALL"],
453
+ self.esm_dict["MYCALL"],
454
+ self.esm_dict["QSOB4"],
455
+ ]:
456
+ if a_button is not None:
457
+ self.restore_button_color(a_button)
458
+
459
+ buttons_to_send = []
460
+
461
+ if self.pref.get("run_state"):
462
+ if self.current_widget == "callsign":
463
+ if len(self.callsign.text()) < 3:
464
+ self.make_button_green(self.esm_dict["CQ"])
465
+ buttons_to_send.append(self.esm_dict["CQ"])
466
+ elif len(self.callsign.text()) > 2:
467
+ self.make_button_green(self.esm_dict["HISCALL"])
468
+ self.make_button_green(self.esm_dict["EXCH"])
469
+ buttons_to_send.append(self.esm_dict["HISCALL"])
470
+ buttons_to_send.append(self.esm_dict["EXCH"])
471
+
472
+ elif self.current_widget == "other_2":
473
+ if self.other_2.text() == "":
474
+ self.make_button_green(self.esm_dict["AGN"])
475
+ buttons_to_send.append(self.esm_dict["AGN"])
476
+ else:
477
+ self.make_button_green(self.esm_dict["QRZ"])
478
+ buttons_to_send.append(self.esm_dict["QRZ"])
479
+ buttons_to_send.append("LOGIT")
480
+
481
+ if with_enter is True and bool(len(buttons_to_send)):
482
+ for button in buttons_to_send:
483
+ if button:
484
+ if button == "LOGIT":
485
+ self.save_contact()
486
+ continue
487
+ self.process_function_key(button)
488
+ else:
489
+ if self.current_widget == "callsign":
490
+ if len(self.callsign.text()) > 2:
491
+ self.make_button_green(self.esm_dict["MYCALL"])
492
+ buttons_to_send.append(self.esm_dict["MYCALL"])
493
+
494
+ elif self.current_widget == "other_2":
495
+ if self.other_2.text() == "":
496
+ self.make_button_green(self.esm_dict["AGN"])
497
+ buttons_to_send.append(self.esm_dict["AGN"])
498
+ else:
499
+ self.make_button_green(self.esm_dict["EXCH"])
500
+ buttons_to_send.append(self.esm_dict["EXCH"])
501
+ buttons_to_send.append("LOGIT")
502
+
503
+ if with_enter is True and bool(len(buttons_to_send)):
504
+ for button in buttons_to_send:
505
+ if button:
506
+ if button == "LOGIT":
507
+ self.save_contact()
508
+ continue
509
+ self.process_function_key(button)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.17.1
3
+ Version: 24.10.18
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
@@ -231,6 +231,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
231
231
 
232
232
  ## Recent Changes
233
233
 
234
+ - [24-10-18] Fixed marked spots showing the correct time.
235
+ - [24-10-17-2] Add ESM to ARRL Sweepstakes.
234
236
  - [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
235
237
  - [24-10-17] Increased max CW speed to 99, 'cause people be crazy. Trying smaller timeout for the rigctlsocket. Not having the checkwindow process events while not visible since it's a resource hog.
236
238
  - [24-10-15-1] Fix callsigns with a slash failing check during ESM.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.10.17.1"
7
+ version = "24.10.18"
8
8
  description = "NOT1MM Logger"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,3 +0,0 @@
1
- """It's the version"""
2
-
3
- __version__ = "24.10.17.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes