not1mm 24.9.10.1__tar.gz → 24.9.11__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 (167) hide show
  1. {not1mm-24.9.10.1 → not1mm-24.9.11}/PKG-INFO +3 -1
  2. {not1mm-24.9.10.1 → not1mm-24.9.11}/README.md +2 -0
  3. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/lookup.py +37 -43
  4. not1mm-24.9.11/not1mm/lib/version.py +3 -0
  5. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_vhf_jan.py +1 -1
  6. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_vhf_jun.py +1 -1
  7. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_vhf_sep.py +1 -1
  8. not1mm-24.9.11/not1mm/test.py +13 -0
  9. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/PKG-INFO +3 -1
  10. {not1mm-24.9.10.1 → not1mm-24.9.11}/pyproject.toml +1 -1
  11. not1mm-24.9.10.1/not1mm/lib/version.py +0 -3
  12. not1mm-24.9.10.1/not1mm/test.py +0 -6
  13. {not1mm-24.9.10.1 → not1mm-24.9.11}/LICENSE +0 -0
  14. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/__init__.py +0 -0
  15. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/__main__.py +0 -0
  16. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/bandmap.py +0 -0
  17. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/checkwindow.py +0 -0
  18. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/JetBrainsMono-Regular.ttf +0 -0
  19. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/MASTER.SCP +0 -0
  20. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/about.ui +0 -0
  21. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/alpha bravo charlie delta.txt +0 -0
  22. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/bandmap.ui +0 -0
  23. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/check.png +0 -0
  24. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/checkwindow.ui +0 -0
  25. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/configuration.ui +0 -0
  26. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/contests.sql +0 -0
  27. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/cty.json +0 -0
  28. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/cwmacros.txt +0 -0
  29. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/donors.html +0 -0
  30. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/editcontact.ui +0 -0
  31. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/editmacro.ui +0 -0
  32. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/greendot.png +0 -0
  33. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/k6gte-not1mm.desktop +0 -0
  34. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/k6gte.not1mm-128.png +0 -0
  35. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/k6gte.not1mm-32.png +0 -0
  36. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/k6gte.not1mm-64.png +0 -0
  37. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/logwindow.ui +0 -0
  38. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/logwindowx.ui +0 -0
  39. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/main.ui +0 -0
  40. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/new_contest.ui +0 -0
  41. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/not1mm.html +0 -0
  42. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/opon.ui +0 -0
  43. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/0.wav +0 -0
  44. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/1.wav +0 -0
  45. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/2.wav +0 -0
  46. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/3.wav +0 -0
  47. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/4.wav +0 -0
  48. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/5.wav +0 -0
  49. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/6.wav +0 -0
  50. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/7.wav +0 -0
  51. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/73.wav +0 -0
  52. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/8.wav +0 -0
  53. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/9.wav +0 -0
  54. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/a.wav +0 -0
  55. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/again.wav +0 -0
  56. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/b.wav +0 -0
  57. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/c.wav +0 -0
  58. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/contest.wav +0 -0
  59. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/cq.wav +0 -0
  60. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/d.wav +0 -0
  61. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/e.wav +0 -0
  62. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/f.wav +0 -0
  63. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/g.wav +0 -0
  64. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/h.wav +0 -0
  65. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/i.wav +0 -0
  66. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/j.wav +0 -0
  67. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/k.wav +0 -0
  68. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/k6gte.wav +0 -0
  69. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/l.wav +0 -0
  70. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/m.wav +0 -0
  71. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/mynumber.wav +0 -0
  72. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/n.wav +0 -0
  73. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/nil.wav +0 -0
  74. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/o.wav +0 -0
  75. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/p.wav +0 -0
  76. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/q.wav +0 -0
  77. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/r.wav +0 -0
  78. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/roger.wav +0 -0
  79. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/s.wav +0 -0
  80. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/space.wav +0 -0
  81. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/t.wav +0 -0
  82. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/thankyou.wav +0 -0
  83. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/thankyouqrz.wav +0 -0
  84. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/u.wav +0 -0
  85. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/v.wav +0 -0
  86. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/w.wav +0 -0
  87. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/x.wav +0 -0
  88. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/y.wav +0 -0
  89. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/yourcall.wav +0 -0
  90. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/phonetics/z.wav +0 -0
  91. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/pickcontest.ui +0 -0
  92. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/radio_green.png +0 -0
  93. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/radio_grey.png +0 -0
  94. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/radio_red.png +0 -0
  95. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/reddot.png +0 -0
  96. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/settings.ui +0 -0
  97. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/splash.png +0 -0
  98. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/ssbmacros.txt +0 -0
  99. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/data/vfo.ui +0 -0
  100. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/fsutils.py +0 -0
  101. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/__init__.py +0 -0
  102. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/about.py +0 -0
  103. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/cat_interface.py +0 -0
  104. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/cwinterface.py +0 -0
  105. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/database.py +0 -0
  106. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/edit_contact.py +0 -0
  107. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/edit_macro.py +0 -0
  108. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/edit_opon.py +0 -0
  109. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/edit_station.py +0 -0
  110. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/fldigi_watcher.py +0 -0
  111. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/ft8_watcher.py +0 -0
  112. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/ham_utility.py +0 -0
  113. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/multicast.py +0 -0
  114. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/n1mm.py +0 -0
  115. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/new_contest.py +0 -0
  116. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/playsound.py +0 -0
  117. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/plugin_common.py +0 -0
  118. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/select_contest.py +0 -0
  119. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/settings.py +0 -0
  120. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/super_check_partial.py +0 -0
  121. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/lib/versiontest.py +0 -0
  122. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/logwindow.py +0 -0
  123. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/10_10_fall_cw.py +0 -0
  124. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/10_10_spring_cw.py +0 -0
  125. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/10_10_summer_phone.py +0 -0
  126. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/10_10_winter_phone.py +0 -0
  127. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/__init__.py +0 -0
  128. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_10m.py +0 -0
  129. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_dx_cw.py +0 -0
  130. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_dx_ssb.py +0 -0
  131. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_field_day.py +0 -0
  132. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_rtty_ru.py +0 -0
  133. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_ss_cw.py +0 -0
  134. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/arrl_ss_phone.py +0 -0
  135. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/canada_day.py +0 -0
  136. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_160_cw.py +0 -0
  137. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_160_ssb.py +0 -0
  138. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_wpx_cw.py +0 -0
  139. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_wpx_ssb.py +0 -0
  140. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_ww_cw.py +0 -0
  141. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cq_ww_ssb.py +0 -0
  142. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/cwt.py +0 -0
  143. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/general_logging.py +0 -0
  144. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/helvetia.py +0 -0
  145. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/iaru_fieldday_r1_cw.py +0 -0
  146. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/iaru_fieldday_r1_ssb.py +0 -0
  147. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/iaru_hf.py +0 -0
  148. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/icwc_mst.py +0 -0
  149. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/jidx_cw.py +0 -0
  150. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/jidx_ph.py +0 -0
  151. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/k1usn_sst.py +0 -0
  152. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/naqp_cw.py +0 -0
  153. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/naqp_ssb.py +0 -0
  154. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/phone_weekly_test.py +0 -0
  155. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/ref_cw.py +0 -0
  156. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/stew_perry_topband.py +0 -0
  157. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/weekly_rtty.py +0 -0
  158. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/plugins/winter_field_day.py +0 -0
  159. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/radio.py +0 -0
  160. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/vfo.py +0 -0
  161. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm/voice_keying.py +0 -0
  162. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/SOURCES.txt +0 -0
  163. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/dependency_links.txt +0 -0
  164. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/entry_points.txt +0 -0
  165. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/requires.txt +0 -0
  166. {not1mm-24.9.10.1 → not1mm-24.9.11}/not1mm.egg-info/top_level.txt +0 -0
  167. {not1mm-24.9.10.1 → not1mm-24.9.11}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.9.10.1
3
+ Version: 24.9.11
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
@@ -229,6 +229,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
229
229
 
230
230
  ## Recent Changes
231
231
 
232
+ - [24-9-11] Fixed the HamQTH call lookups.
233
+ - [24-9-10-2] Removed mapping of FM to PH in the ARRL VHF Cabrillo logs
232
234
  - [24-9-10-1] ft8_watcher now used default WSJT-X Multicast address and port.
233
235
  - [24-9-10] Add WSJT FT8/4 and fldigi support to ARRL VHF.
234
236
  - [24-9-9] Add IARU R1 Fieldday CW and SSB.
@@ -198,6 +198,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
198
198
 
199
199
  ## Recent Changes
200
200
 
201
+ - [24-9-11] Fixed the HamQTH call lookups.
202
+ - [24-9-10-2] Removed mapping of FM to PH in the ARRL VHF Cabrillo logs
201
203
  - [24-9-10-1] ft8_watcher now used default WSJT-X Multicast address and port.
202
204
  - [24-9-10] Add WSJT FT8/4 and fldigi support to ARRL VHF.
203
205
  - [24-9-9] Add IARU R1 Fieldday CW and SSB.
@@ -323,7 +323,7 @@ class HamQTH:
323
323
  return
324
324
  logger.info("resultcode: %s", query_result.status_code)
325
325
  baseroot = xmltodict.parse(query_result.text)
326
- root = baseroot.get("HamQTH")
326
+ root = baseroot.get("HamQTH", {})
327
327
  session = root.get("session")
328
328
  if session:
329
329
  if session.get("session_id"):
@@ -344,55 +344,49 @@ class HamQTH:
344
344
  "error_text": False,
345
345
  }
346
346
  if self.session:
347
- payload = {"id": self.session, "callsign": call, "prg": "wfdlogger"}
347
+ payload = {"id": self.session, "callsign": call, "prg": "not1mm"}
348
348
  try:
349
349
  query_result = requests.get(self.url, params=payload, timeout=10.0)
350
350
  except requests.exceptions.Timeout:
351
351
  self.error = True
352
352
  return the_result
353
353
  logger.info("resultcode: %s", query_result.status_code)
354
- baseroot = xmltodict.parse(query_result.text)
355
- root = baseroot.get("HamQTH")
356
- search = root.get("search")
357
- session = root.get("session")
358
- if not search:
359
- if session:
360
- if session.get("error"):
361
- if session.get("error") == "Callsign not found":
362
- the_result["error_text"] = session.get("error")
363
- return the_result
364
- if session.get("error") == "Session does not exist or expired":
365
- self.getsession()
366
- query_result = requests.get(
367
- self.url, params=payload, timeout=10.0
368
- )
369
- the_result = self.parse_lookup(root)
370
- return the_result
371
354
 
372
- @lru_cache(maxsize=1000)
373
- def parse_lookup(self, root) -> dict:
374
- """
375
- Returns gridsquare and name for a callsign
376
- Or False for both if none found or error.
377
- """
378
- the_result = {
379
- "grid": False,
380
- "name": False,
381
- "nickname": False,
382
- "error_text": False,
383
- }
384
- session = root.get("session")
385
- search = root.get("search")
386
- if session:
387
- if session.get("error"):
388
- the_result["error_text"] = session.get("error")
389
- if search:
390
- if search.get("grid"):
391
- the_result["grid"] = search.get("grid")
392
- if search.get("nick"):
393
- the_result["nickname"] = search.get("nick")
394
- if search.get("adr_name"):
395
- the_result["name"] = search.get("adr_name")
355
+ query_dict = xmltodict.parse(query_result.text)
356
+
357
+ the_result["grid"] = (
358
+ query_dict.get("HamQTH", {}).get("search", {}).get("grid", False)
359
+ )
360
+ the_result["name"] = (
361
+ query_dict.get("HamQTH", {}).get("search", {}).get("name", False)
362
+ )
363
+ the_result["nickname"] = (
364
+ query_dict.get("HamQTH", {}).get("search", {}).get("nickname", False)
365
+ )
366
+ the_result["error_text"] = (
367
+ query_dict.get("HamQTH", {}).get("session", {}).get("error", False)
368
+ )
369
+
370
+ if the_result.get("error_text") == "Callsign not found":
371
+ return the_result
372
+ if the_result.get("error_text") == "Session does not exist or expired":
373
+ self.getsession()
374
+ query_result = requests.get(self.url, params=payload, timeout=10.0)
375
+ the_result["grid"] = (
376
+ query_dict.get("HamQTH", {}).get("search", {}).get("grid", False)
377
+ )
378
+ the_result["name"] = (
379
+ query_dict.get("HamQTH", {}).get("search", {}).get("name", False)
380
+ )
381
+ the_result["nickname"] = (
382
+ query_dict.get("HamQTH", {})
383
+ .get("search", {})
384
+ .get("nickname", False)
385
+ )
386
+ the_result["error_text"] = (
387
+ query_dict.get("HamQTH", {}).get("session", {}).get("error", False)
388
+ )
389
+
396
390
  return the_result
397
391
 
398
392
 
@@ -0,0 +1,3 @@
1
+ """It's the version"""
2
+
3
+ __version__ = "24.9.11"
@@ -379,7 +379,7 @@ def cabrillo(self):
379
379
  for contact in log:
380
380
  the_date_and_time = contact.get("TS", "")
381
381
  themode = contact.get("Mode", "")
382
- if themode in ("LSB", "USB", "FM", "AM"):
382
+ if themode in ("LSB", "USB", "AM"):
383
383
  themode = "PH"
384
384
  if themode in (
385
385
  "FT8",
@@ -347,7 +347,7 @@ def cabrillo(self):
347
347
  for contact in log:
348
348
  the_date_and_time = contact.get("TS", "")
349
349
  themode = contact.get("Mode", "")
350
- if themode in ("LSB", "USB", "FM", "AM"):
350
+ if themode in ("LSB", "USB", "AM"):
351
351
  themode = "PH"
352
352
  if themode in (
353
353
  "FT8",
@@ -347,7 +347,7 @@ def cabrillo(self):
347
347
  for contact in log:
348
348
  the_date_and_time = contact.get("TS", "")
349
349
  themode = contact.get("Mode", "")
350
- if themode in ("LSB", "USB", "FM", "AM"):
350
+ if themode in ("LSB", "USB", "AM"):
351
351
  themode = "PH"
352
352
  if themode in (
353
353
  "FT8",
@@ -0,0 +1,13 @@
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
+ print(f"{result=}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.9.10.1
3
+ Version: 24.9.11
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
@@ -229,6 +229,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
229
229
 
230
230
  ## Recent Changes
231
231
 
232
+ - [24-9-11] Fixed the HamQTH call lookups.
233
+ - [24-9-10-2] Removed mapping of FM to PH in the ARRL VHF Cabrillo logs
232
234
  - [24-9-10-1] ft8_watcher now used default WSJT-X Multicast address and port.
233
235
  - [24-9-10] Add WSJT FT8/4 and fldigi support to ARRL VHF.
234
236
  - [24-9-9] Add IARU R1 Fieldday CW and SSB.
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "not1mm"
7
- version = "24.9.10.1"
7
+ version = "24.9.11"
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.9.10.1"
@@ -1,6 +0,0 @@
1
- import xmlrpc.client
2
-
3
- target = "http://127.0.0.1:8421"
4
- server = xmlrpc.client.ServerProxy(target)
5
- 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>"
6
- response = server.log.add_record(adif)
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