not1mm 25.3.19__tar.gz → 25.3.19.1__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 (185) hide show
  1. {not1mm-25.3.19 → not1mm-25.3.19.1}/PKG-INFO +3 -1
  2. {not1mm-25.3.19 → not1mm-25.3.19.1}/README.md +2 -0
  3. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/new_contest.ui +5 -0
  4. not1mm-25.3.19.1/not1mm/lib/version.py +3 -0
  5. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/darc_vhf.py +44 -44
  6. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ea_majistad_cw.py +2 -2
  7. not1mm-25.3.19.1/not1mm/plugins/ea_majistad_ssb.py +727 -0
  8. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/PKG-INFO +3 -1
  9. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/SOURCES.txt +1 -0
  10. {not1mm-25.3.19 → not1mm-25.3.19.1}/pyproject.toml +1 -1
  11. not1mm-25.3.19/not1mm/lib/version.py +0 -3
  12. {not1mm-25.3.19 → not1mm-25.3.19.1}/LICENSE +0 -0
  13. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/__init__.py +0 -0
  14. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/__main__.py +0 -0
  15. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/bandmap.py +0 -0
  16. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/checkwindow.py +0 -0
  17. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/JetBrainsMono-ExtraLight.ttf +0 -0
  18. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/MASTER.SCP +0 -0
  19. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/about.ui +0 -0
  20. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  21. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/bandmap.ui +0 -0
  22. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/check.png +0 -0
  23. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/checkwindow.ui +0 -0
  24. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/configuration.ui +0 -0
  25. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/contests.sql +0 -0
  26. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/cty.json +0 -0
  27. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/cwmacros.txt +0 -0
  28. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/donors.html +0 -0
  29. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/editcontact.ui +0 -0
  30. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/editmacro.ui +0 -0
  31. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/greendot.png +0 -0
  32. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte-not1mm.desktop +0 -0
  33. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-128.png +0 -0
  34. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-32.png +0 -0
  35. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/k6gte.not1mm-64.png +0 -0
  36. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/logwindow.ui +0 -0
  37. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/logwindowx.ui +0 -0
  38. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/main.ui +0 -0
  39. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/not1mm.html +0 -0
  40. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/opon.ui +0 -0
  41. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/0.wav +0 -0
  42. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/1.wav +0 -0
  43. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/2.wav +0 -0
  44. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/3.wav +0 -0
  45. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/4.wav +0 -0
  46. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/5.wav +0 -0
  47. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/6.wav +0 -0
  48. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/7.wav +0 -0
  49. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/73.wav +0 -0
  50. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/8.wav +0 -0
  51. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/9.wav +0 -0
  52. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/a.wav +0 -0
  53. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/again.wav +0 -0
  54. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/b.wav +0 -0
  55. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/c.wav +0 -0
  56. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/contest.wav +0 -0
  57. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/cq.wav +0 -0
  58. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/cq2.wav +0 -0
  59. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/d.wav +0 -0
  60. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/e.wav +0 -0
  61. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/f.wav +0 -0
  62. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/g.wav +0 -0
  63. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/h.wav +0 -0
  64. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/i.wav +0 -0
  65. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/j.wav +0 -0
  66. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/k.wav +0 -0
  67. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/k6gte.wav +0 -0
  68. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/l.wav +0 -0
  69. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/m.wav +0 -0
  70. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/mynumber.wav +0 -0
  71. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/n.wav +0 -0
  72. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/nil.wav +0 -0
  73. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/o.wav +0 -0
  74. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/p.wav +0 -0
  75. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/q.wav +0 -0
  76. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/r.wav +0 -0
  77. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/roger.wav +0 -0
  78. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/s.wav +0 -0
  79. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/space.wav +0 -0
  80. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/t.wav +0 -0
  81. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/thankyou.wav +0 -0
  82. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  83. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/u.wav +0 -0
  84. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/v.wav +0 -0
  85. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/w.wav +0 -0
  86. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/x.wav +0 -0
  87. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/y.wav +0 -0
  88. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/yourcall.wav +0 -0
  89. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/phonetics/z.wav +0 -0
  90. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/pickcontest.ui +0 -0
  91. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_green.png +0 -0
  92. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_grey.png +0 -0
  93. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/radio_red.png +0 -0
  94. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/ratewindow.ui +0 -0
  95. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/reddot.png +0 -0
  96. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/rttymacros.txt +0 -0
  97. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/settings.ui +0 -0
  98. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/splash.png +0 -0
  99. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/ssbmacros.txt +0 -0
  100. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/data/vfo.ui +0 -0
  101. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/fsutils.py +0 -0
  102. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/__init__.py +0 -0
  103. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/about.py +0 -0
  104. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/cat_interface.py +0 -0
  105. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/cwinterface.py +0 -0
  106. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/database.py +0 -0
  107. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_contact.py +0 -0
  108. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_macro.py +0 -0
  109. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_opon.py +0 -0
  110. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/edit_station.py +0 -0
  111. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/fldigi_sendstring.py +0 -0
  112. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/ft8_watcher.py +0 -0
  113. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/ham_utility.py +0 -0
  114. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/lookup.py +0 -0
  115. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/multicast.py +0 -0
  116. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/n1mm.py +0 -0
  117. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/new_contest.py +0 -0
  118. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/plugin_common.py +0 -0
  119. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/select_contest.py +0 -0
  120. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/settings.py +0 -0
  121. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/super_check_partial.py +0 -0
  122. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lib/versiontest.py +0 -0
  123. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/logwindow.py +0 -0
  124. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/lookupservice.py +0 -0
  125. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_fall_cw.py +0 -0
  126. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_spring_cw.py +0 -0
  127. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_summer_phone.py +0 -0
  128. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/10_10_winter_phone.py +0 -0
  129. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/__init__.py +0 -0
  130. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_10m.py +0 -0
  131. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_160m.py +0 -0
  132. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_dx_cw.py +0 -0
  133. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  134. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_field_day.py +0 -0
  135. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  136. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_ss_cw.py +0 -0
  137. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_ss_phone.py +0 -0
  138. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_jan.py +0 -0
  139. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_jun.py +0 -0
  140. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/arrl_vhf_sep.py +0 -0
  141. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/canada_day.py +0 -0
  142. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_160_cw.py +0 -0
  143. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_160_ssb.py +0 -0
  144. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_cw.py +0 -0
  145. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_rtty.py +0 -0
  146. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  147. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_cw.py +0 -0
  148. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_rtty.py +0 -0
  149. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cq_ww_ssb.py +0 -0
  150. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/cwt.py +0 -0
  151. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/darc_xmas.py +0 -0
  152. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ea_rtty.py +0 -0
  153. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/general_logging.py +0 -0
  154. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/helvetia.py +0 -0
  155. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  156. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  157. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/iaru_hf.py +0 -0
  158. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/icwc_mst.py +0 -0
  159. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/jidx_cw.py +0 -0
  160. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/jidx_ph.py +0 -0
  161. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/k1usn_sst.py +0 -0
  162. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/labre_rs_digi.py +0 -0
  163. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/lz-dx.py +0 -0
  164. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_cw.py +0 -0
  165. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_rtty.py +0 -0
  166. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/naqp_ssb.py +0 -0
  167. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/phone_weekly_test.py +0 -0
  168. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/raem.py +0 -0
  169. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/randomgram.py +0 -0
  170. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ref_cw.py +0 -0
  171. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/ref_ssb.py +0 -0
  172. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/stew_perry_topband.py +0 -0
  173. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/weekly_rtty.py +0 -0
  174. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/plugins/winter_field_day.py +0 -0
  175. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/radio.py +0 -0
  176. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/ratewindow.py +0 -0
  177. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/rtc_service.py +0 -0
  178. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/test.py +0 -0
  179. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/vfo.py +0 -0
  180. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm/voice_keying.py +0 -0
  181. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/dependency_links.txt +0 -0
  182. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/entry_points.txt +0 -0
  183. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/requires.txt +0 -0
  184. {not1mm-25.3.19 → not1mm-25.3.19.1}/not1mm.egg-info/top_level.txt +0 -0
  185. {not1mm-25.3.19 → not1mm-25.3.19.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: not1mm
3
- Version: 25.3.19
3
+ Version: 25.3.19.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
@@ -224,6 +224,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
224
224
  - DARC Xmas
225
225
  - DARC VHF
226
226
  - EA Majistad CW
227
+ - EA Majistad SSB
227
228
  - EA RTTY
228
229
  - Helvetia
229
230
  - IARU Fieldday R1 CW, SSB
@@ -245,6 +246,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
245
246
 
246
247
  ## Recent Changes
247
248
 
249
+ - [25-3-19-1] Add EA His Maj King of Spain SSB.
248
250
  - [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
249
251
  - [25-3-18] Add His Maj King of Spain CW
250
252
  - [25-3-17] Add EA RTTY contest.
@@ -193,6 +193,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
193
193
  - DARC Xmas
194
194
  - DARC VHF
195
195
  - EA Majistad CW
196
+ - EA Majistad SSB
196
197
  - EA RTTY
197
198
  - Helvetia
198
199
  - IARU Fieldday R1 CW, SSB
@@ -214,6 +215,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
214
215
 
215
216
  ## Recent Changes
216
217
 
218
+ - [25-3-19-1] Add EA His Maj King of Spain SSB.
217
219
  - [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
218
220
  - [25-3-18] Add His Maj King of Spain CW
219
221
  - [25-3-17] Add EA RTTY contest.
@@ -332,6 +332,11 @@
332
332
  <string>EA MAJISTAD CW</string>
333
333
  </property>
334
334
  </item>
335
+ <item>
336
+ <property name="text">
337
+ <string>EA MAJISTAD SSB</string>
338
+ </property>
339
+ </item>
335
340
  <item>
336
341
  <property name="text">
337
342
  <string>EA RTTY</string>
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "25.3.19.1"
@@ -12,7 +12,7 @@
12
12
  # Classes: Single Op, Multi OP, Trainee
13
13
  # Max power: 100 watts
14
14
  # Exchange: RST + Locator
15
- # Work stations: Once per band
15
+ # Work stations: Once per band
16
16
  # Points: 1 point per km distance between stations
17
17
  # Multipliers: no multis
18
18
  # Score Calculation: Total score = sum of all points
@@ -49,11 +49,11 @@ columns = [
49
49
  "SentNr",
50
50
  "RcvNr",
51
51
  "Exchange1",
52
- "PTS"
52
+ "PTS",
53
53
  ]
54
54
  cabrillo_name = "DARC VHF"
55
55
 
56
- advance_on_space = [True, True, True,True, False]
56
+ advance_on_space = [True, True, True, True, False]
57
57
  call_parse_exchange_on_edit = True
58
58
 
59
59
  # 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
@@ -86,6 +86,7 @@ def reset_label(self):
86
86
  """reset label after field cleared"""
87
87
  self.exch_label.setText("# Grid")
88
88
 
89
+
89
90
  def set_tab_next(self):
90
91
  """Set TAB Advances"""
91
92
  self.tab_next = {
@@ -106,20 +107,20 @@ def set_tab_prev(self):
106
107
  self.other_1: self.receive,
107
108
  self.other_2: self.other_1,
108
109
  }
109
-
110
+
110
111
 
111
112
  def set_contact_vars(self):
112
- """Contest Specific"""
113
+ """Contest Specific"""
113
114
  sn, grid = parse_exchange(self)
114
115
  self.contact["SNT"] = self.sent.text()
115
116
  self.contact["RCV"] = self.receive.text()
116
- self.contact["SentNr"] = self.other_1.text()
117
- self.contact["NR"]= sn
118
- self.contact["Exchange1"] =grid
119
-
120
-
117
+ self.contact["SentNr"] = self.other_1.text()
118
+ self.contact["NR"] = sn
119
+ self.contact["Exchange1"] = grid
120
+
121
+
121
122
  def parse_exchange(self):
122
- """Parse exchange..."""
123
+ """Parse exchange..."""
123
124
  exchange = self.other_2.text()
124
125
  exchange = exchange.upper()
125
126
  sn = ""
@@ -160,9 +161,9 @@ def points(self):
160
161
  """Calc point"""
161
162
  _points = 1
162
163
  _kilometers = 0
163
- _their_grid = self.contact["Exchange1"] .upper()
164
+ _their_grid = self.contact["Exchange1"].upper()
164
165
  _kilometers = distance(self.station.get("GridSquare", ""), _their_grid)
165
- _points = max(1,_kilometers)
166
+ _points = max(1, _kilometers)
166
167
  return _points
167
168
 
168
169
 
@@ -170,7 +171,6 @@ def show_mults(self, rtc=None):
170
171
  """Return display string for mults"""
171
172
 
172
173
 
173
-
174
174
  def show_qso(self):
175
175
  """Return qso count"""
176
176
  result = self.database.fetch_qso_count()
@@ -187,7 +187,7 @@ def calc_score(self):
187
187
  if score is None:
188
188
  score = "0"
189
189
  contest_points = int(score)
190
- return contest_points
190
+ return contest_points
191
191
  return 0
192
192
 
193
193
 
@@ -197,8 +197,8 @@ def adif(self):
197
197
 
198
198
 
199
199
  def edi(self):
200
- """ Generate an edi file """
201
- file_encoding="ascii"
200
+ """Generate an edi file"""
201
+ file_encoding = "ascii"
202
202
  logger.debug("******EDI*****")
203
203
  logger.debug("Station: %s", f"{self.station}")
204
204
  logger.debug("Contest: %s", f"{self.contest_settings}")
@@ -212,7 +212,7 @@ def edi(self):
212
212
  logger.debug("%s", filename)
213
213
  log = self.database.fetch_all_contacts_asc()
214
214
  try:
215
- with open(filename, "w", encoding=file_encoding) as file_descriptor:
215
+ with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
216
216
  output_cabrillo_line(
217
217
  "[REG1TEST;1]",
218
218
  "\r\n",
@@ -229,7 +229,7 @@ def edi(self):
229
229
  loggedyear = value[0:4]
230
230
  loggedmonth = value[5:7]
231
231
  loggedday = value[8:10]
232
- loggeddate = loggedyear + loggedmonth +loggedday
232
+ loggeddate = loggedyear + loggedmonth + loggedday
233
233
  output_cabrillo_line(
234
234
  f"TDate: {loggeddate}",
235
235
  "\r\n",
@@ -271,8 +271,8 @@ def edi(self):
271
271
  "\r\n",
272
272
  file_descriptor,
273
273
  file_encoding,
274
- )
275
- BandInMHz = bandinMHz(self.contest_settings.get('BandCategory',''))
274
+ )
275
+ BandInMHz = bandinMHz(self.contest_settings.get("BandCategory", ""))
276
276
  output_cabrillo_line(
277
277
  f"PBand:{BandInMHz}",
278
278
  "\r\n",
@@ -320,7 +320,7 @@ def edi(self):
320
320
  "\r\n",
321
321
  file_descriptor,
322
322
  file_encoding,
323
- )
323
+ )
324
324
  output_cabrillo_line(
325
325
  f"RCoun:{self.station.get('Country', '')} ",
326
326
  "\r\n",
@@ -350,7 +350,7 @@ def edi(self):
350
350
  "\r\n",
351
351
  file_descriptor,
352
352
  file_encoding,
353
- )
353
+ )
354
354
  output_cabrillo_line(
355
355
  f"STXEq:{self.station.get('stationtxrx', '')}",
356
356
  "\r\n",
@@ -387,7 +387,7 @@ def edi(self):
387
387
  "\r\n",
388
388
  file_descriptor,
389
389
  file_encoding,
390
- )
390
+ )
391
391
  output_cabrillo_line(
392
392
  f"CQSOP:{calc_score(self)}",
393
393
  "\r\n",
@@ -447,7 +447,7 @@ def edi(self):
447
447
  "\r\n",
448
448
  file_descriptor,
449
449
  file_encoding,
450
- )
450
+ )
451
451
  output_cabrillo_line(
452
452
  f"[QSORecords;{NumberOfQsos}]",
453
453
  "\r\n",
@@ -457,25 +457,25 @@ def edi(self):
457
457
  for contact in log:
458
458
  the_date_and_time = contact.get("TS", "")
459
459
  themode = contact.get("Mode", "")
460
- modeCode=0
461
- if themode == "LSB" or themode == "USB" or themode=="SSB":
460
+ modeCode = 0
461
+ if themode == "LSB" or themode == "USB" or themode == "SSB":
462
462
  modeCode = 1
463
- if themode == "CW" or themode == "CWL" or themode=="CWU":
463
+ if themode == "CW" or themode == "CWL" or themode == "CWU":
464
464
  modeCode = 2
465
- frequency = str(int(contact.get("Freq", "0"))).rjust(5)
465
+ frequency = str(int(contact.get("Freq", "0"))).rjust(5)
466
466
  loggedyear = the_date_and_time[2:4]
467
467
  loggedmonth = the_date_and_time[5:7]
468
468
  loggedday = the_date_and_time[8:10]
469
- loggeddate = loggedyear + loggedmonth +loggedday
469
+ loggeddate = loggedyear + loggedmonth + loggedday
470
470
  loggedtime = the_date_and_time[11:13] + the_date_and_time[14:16]
471
- NumberSend = contact.get('SentNr', '')
472
- NumberReceived = contact.get('NR', '')
471
+ NumberSend = contact.get("SentNr", "")
472
+ NumberReceived = contact.get("NR", "")
473
473
  output_cabrillo_line(
474
474
  f"{loggeddate};"
475
475
  f"{loggedtime};"
476
476
  f"{contact.get('Call', '')};"
477
477
  f"{modeCode};"
478
- f"{str(contact.get('SNT', ''))};"
478
+ f"{str(contact.get('SNT', ''))};"
479
479
  f"{NumberSend:03d};"
480
480
  f"{str(contact.get('RCV', ''))};"
481
481
  f"{NumberReceived:03d};"
@@ -495,14 +495,14 @@ def edi(self):
495
495
 
496
496
 
497
497
  def bandinMHz(band):
498
- switch={
499
- "6M": "50 MHz",
500
- "4M": "70 MHz",
501
- "2M": "144 MHz",
502
- "70cm": "432 MHz",
503
- "23cm": "1,3 GHz",
504
- }
505
- return switch.get(band,"Invalid input {band}")
498
+ switch = {
499
+ "6M": "50 MHz",
500
+ "4M": "70 MHz",
501
+ "2M": "144 MHz",
502
+ "70cm": "432 MHz",
503
+ "23cm": "1,3 GHz",
504
+ }
505
+ return switch.get(band, "Invalid input {band}")
506
506
 
507
507
 
508
508
  def output_cabrillo_line(line_to_output, ending, file_descriptor, file_encoding):
@@ -530,7 +530,7 @@ def cabrillo(self, file_encoding):
530
530
  logger.debug("%s", filename)
531
531
  log = self.database.fetch_all_contacts_asc()
532
532
  try:
533
- with open(filename, "w", encoding=file_encoding) as file_descriptor:
533
+ with open(filename, "w", encoding=file_encoding, newline="") as file_descriptor:
534
534
  output_cabrillo_line(
535
535
  "START-OF-LOG: 3.0",
536
536
  "\r\n",
@@ -714,9 +714,9 @@ def recalculate_mults(self):
714
714
  all_contacts = self.database.fetch_all_contacts_asc()
715
715
  for contact in all_contacts:
716
716
  # recalculate points
717
- _their_grid = contact.get("Exchange1") .upper()
717
+ _their_grid = contact.get("Exchange1").upper()
718
718
  _kilometers = distance(self.station.get("GridSquare", ""), _their_grid)
719
- _points = max(1,_kilometers)
719
+ _points = max(1, _kilometers)
720
720
  contact["Points"] = _points
721
721
 
722
722
  self.database.change_contact(contact)
@@ -582,7 +582,7 @@ def populate_history_info_line(self):
582
582
  result = self.database.fetch_call_history(self.callsign.text())
583
583
  if result:
584
584
  self.history_info.setText(
585
- f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('State', '')}, {result.get('UserText','...')}"
585
+ f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('Exch1', '')}, {result.get('UserText','...')}"
586
586
  )
587
587
  else:
588
588
  self.history_info.setText("")
@@ -594,7 +594,7 @@ def check_call_history(self):
594
594
  if result:
595
595
  self.history_info.setText(f"{result.get('UserText','')}")
596
596
  if self.other_2.text() == "":
597
- self.other_2.setText(f"{result.get('State', '')}")
597
+ self.other_2.setText(f"{result.get('Exch1', '')}")
598
598
 
599
599
 
600
600
  def get_mults(self):