not1mm 25.1.29__py3-none-any.whl → 25.2.12__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- not1mm/__main__.py +0 -6
- not1mm/data/donors.html +1 -1
- not1mm/data/main.ui +65 -65
- not1mm/data/new_contest.ui +5 -0
- not1mm/data/ratewindow.ui +54 -54
- not1mm/data/settings.ui +3 -3
- not1mm/lib/settings.py +0 -2
- not1mm/lib/version.py +1 -1
- not1mm/plugins/randomgram.py +262 -0
- not1mm/voice_keying.py +1 -1
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/METADATA +6 -16
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/RECORD +16 -15
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/LICENSE +0 -0
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/WHEEL +0 -0
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/entry_points.txt +0 -0
- {not1mm-25.1.29.dist-info → not1mm-25.2.12.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,262 @@
|
|
1
|
+
"""RandomGram plugin"""
|
2
|
+
|
3
|
+
# pylint: disable=invalid-name, unused-argument, unused-variable, c-extension-no-member, unused-import
|
4
|
+
|
5
|
+
import logging
|
6
|
+
import os
|
7
|
+
|
8
|
+
from PyQt6 import QtWidgets
|
9
|
+
|
10
|
+
from not1mm.lib.plugin_common import gen_adif
|
11
|
+
from not1mm.lib.version import __version__
|
12
|
+
|
13
|
+
logger = logging.getLogger(__name__)
|
14
|
+
EXCHANGE_HINT = ""
|
15
|
+
name = "RandomGram"
|
16
|
+
cabrillo_name = "RANDOMGRAM"
|
17
|
+
mode = "CW" # CW SSB BOTH RTTY
|
18
|
+
columns = [
|
19
|
+
"YYYY-MM-DD HH:MM:SS",
|
20
|
+
"Call",
|
21
|
+
"Freq",
|
22
|
+
"Snt",
|
23
|
+
"Rcv",
|
24
|
+
"SentNr",
|
25
|
+
"RcvNr",
|
26
|
+
]
|
27
|
+
|
28
|
+
# 1 once per contest, 2 work each band, 3 each band/mode, 4 no dupe checking
|
29
|
+
dupe_type = 4
|
30
|
+
|
31
|
+
rgGroupsPath = os.path.join(os.path.expanduser("~"), "rg.txt")
|
32
|
+
try:
|
33
|
+
with open(rgGroupsPath, "r") as f:
|
34
|
+
rgGroups = f.readlines()
|
35
|
+
except:
|
36
|
+
rgGroups = []
|
37
|
+
|
38
|
+
def init_contest(self):
|
39
|
+
"""setup plugin"""
|
40
|
+
set_tab_next(self)
|
41
|
+
set_tab_prev(self)
|
42
|
+
interface(self)
|
43
|
+
self.next_field = self.other_2
|
44
|
+
|
45
|
+
|
46
|
+
def interface(self):
|
47
|
+
"""Setup user interface"""
|
48
|
+
self.field1.show()
|
49
|
+
self.field2.show()
|
50
|
+
self.field3.show()
|
51
|
+
self.field4.show()
|
52
|
+
self.snt_label.setText("SNT")
|
53
|
+
self.field1.setAccessibleName("RST Sent")
|
54
|
+
self.other_label.setText("SentRG")
|
55
|
+
self.field3.setAccessibleName("Sent RandomGram")
|
56
|
+
self.exch_label.setText("RcvRG")
|
57
|
+
self.field4.setAccessibleName("Received RandomGram")
|
58
|
+
|
59
|
+
|
60
|
+
def reset_label(self):
|
61
|
+
"""reset label after field cleared"""
|
62
|
+
|
63
|
+
|
64
|
+
def set_tab_next(self):
|
65
|
+
"""Set TAB Advances"""
|
66
|
+
self.tab_next = {
|
67
|
+
self.callsign: self.sent,
|
68
|
+
self.sent: self.receive,
|
69
|
+
self.receive: self.other_1,
|
70
|
+
self.other_1: self.other_2,
|
71
|
+
self.other_2: self.callsign,
|
72
|
+
}
|
73
|
+
|
74
|
+
|
75
|
+
def set_tab_prev(self):
|
76
|
+
"""Set TAB Advances"""
|
77
|
+
self.tab_prev = {
|
78
|
+
self.callsign: self.other_2,
|
79
|
+
self.sent: self.callsign,
|
80
|
+
self.receive: self.sent,
|
81
|
+
self.other_1: self.receive,
|
82
|
+
self.other_2: self.other_1,
|
83
|
+
}
|
84
|
+
|
85
|
+
|
86
|
+
def set_contact_vars(self):
|
87
|
+
"""Contest Specific"""
|
88
|
+
self.contact["SNT"] = self.sent.text()
|
89
|
+
self.contact["RCV"] = self.receive.text()
|
90
|
+
self.contact["Comment"] = self.other_2.text()
|
91
|
+
self.contact["SentNr"] = self.other_1.text()
|
92
|
+
self.contact["NR"] = self.other_2.text()
|
93
|
+
|
94
|
+
|
95
|
+
def predupe(self):
|
96
|
+
"""called after callsign entered"""
|
97
|
+
|
98
|
+
|
99
|
+
def prefill(self):
|
100
|
+
"""Fill SentNR"""
|
101
|
+
qso_count = show_qso(self)
|
102
|
+
if len(rgGroups) <= qso_count:
|
103
|
+
return
|
104
|
+
|
105
|
+
nextRG = rgGroups[qso_count]
|
106
|
+
if len(nextRG) > 0:
|
107
|
+
self.other_1.setText(nextRG)
|
108
|
+
|
109
|
+
|
110
|
+
def points(self):
|
111
|
+
"""Calc point"""
|
112
|
+
return 2
|
113
|
+
|
114
|
+
|
115
|
+
def show_mults(self):
|
116
|
+
"""Return display string for mults"""
|
117
|
+
|
118
|
+
|
119
|
+
def show_qso(self):
|
120
|
+
"""Return qso count"""
|
121
|
+
result = self.database.fetch_qso_count()
|
122
|
+
if result:
|
123
|
+
return int(result.get("qsos", 0))
|
124
|
+
return 0
|
125
|
+
|
126
|
+
|
127
|
+
def calc_score(self):
|
128
|
+
"""Return calculated score"""
|
129
|
+
result = self.database.fetch_points()
|
130
|
+
|
131
|
+
|
132
|
+
def adif(self):
|
133
|
+
"""Call the generate ADIF function"""
|
134
|
+
gen_adif(self, cabrillo_name)
|
135
|
+
|
136
|
+
|
137
|
+
def cabrillo(self, file_encoding):
|
138
|
+
"""Generates Cabrillo file. Maybe."""
|
139
|
+
|
140
|
+
|
141
|
+
def recalculate_mults(self):
|
142
|
+
"""Recalculates multipliers after change in logged qso."""
|
143
|
+
|
144
|
+
|
145
|
+
def process_esm(self, new_focused_widget=None, with_enter=False):
|
146
|
+
"""ESM State Machine"""
|
147
|
+
|
148
|
+
# self.pref["run_state"]
|
149
|
+
|
150
|
+
# -----===== Assigned F-Keys =====-----
|
151
|
+
# self.esm_dict["CQ"]
|
152
|
+
# self.esm_dict["EXCH"]
|
153
|
+
# self.esm_dict["QRZ"]
|
154
|
+
# self.esm_dict["AGN"]
|
155
|
+
# self.esm_dict["HISCALL"]
|
156
|
+
# self.esm_dict["MYCALL"]
|
157
|
+
# self.esm_dict["QSOB4"]
|
158
|
+
|
159
|
+
# ----==== text fields ====----
|
160
|
+
# self.callsign
|
161
|
+
# self.sent
|
162
|
+
# self.receive
|
163
|
+
# self.other_1
|
164
|
+
# self.other_2
|
165
|
+
|
166
|
+
if new_focused_widget is not None:
|
167
|
+
self.current_widget = self.inputs_dict.get(new_focused_widget)
|
168
|
+
|
169
|
+
# print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
|
170
|
+
|
171
|
+
for a_button in [
|
172
|
+
self.F1,
|
173
|
+
self.F2,
|
174
|
+
self.F3,
|
175
|
+
self.F4,
|
176
|
+
self.F5,
|
177
|
+
self.F6,
|
178
|
+
self.F7,
|
179
|
+
self.F8,
|
180
|
+
self.F9,
|
181
|
+
self.F10,
|
182
|
+
self.F11,
|
183
|
+
self.F12,
|
184
|
+
]:
|
185
|
+
self.restore_button_color(a_button)
|
186
|
+
|
187
|
+
buttons_to_send = []
|
188
|
+
|
189
|
+
if self.pref.get("run_state"):
|
190
|
+
if self.current_widget == "callsign":
|
191
|
+
if len(self.callsign.text()) < 3:
|
192
|
+
self.make_button_green(self.esm_dict["CQ"])
|
193
|
+
buttons_to_send.append(self.esm_dict["CQ"])
|
194
|
+
elif len(self.callsign.text()) > 2:
|
195
|
+
self.make_button_green(self.esm_dict["HISCALL"])
|
196
|
+
self.make_button_green(self.esm_dict["EXCH"])
|
197
|
+
buttons_to_send.append(self.esm_dict["HISCALL"])
|
198
|
+
buttons_to_send.append(self.esm_dict["EXCH"])
|
199
|
+
|
200
|
+
# elif self.current_widget in ["other_1", "other_2"]:
|
201
|
+
# if self.other_2.text() == "" and self.other_1.text() == "":
|
202
|
+
# self.make_button_green(self.esm_dict["AGN"])
|
203
|
+
# buttons_to_send.append(self.esm_dict["AGN"])
|
204
|
+
# else:
|
205
|
+
# self.make_button_green(self.esm_dict["QRZ"])
|
206
|
+
# buttons_to_send.append(self.esm_dict["QRZ"])
|
207
|
+
# buttons_to_send.append("LOGIT")
|
208
|
+
|
209
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
210
|
+
buttons_to_send.append("LOGIT")
|
211
|
+
|
212
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
213
|
+
for button in buttons_to_send:
|
214
|
+
if button:
|
215
|
+
if button == "LOGIT":
|
216
|
+
self.save_contact()
|
217
|
+
continue
|
218
|
+
self.process_function_key(button)
|
219
|
+
else:
|
220
|
+
if self.current_widget == "callsign":
|
221
|
+
if len(self.callsign.text()) > 2:
|
222
|
+
self.make_button_green(self.esm_dict["MYCALL"])
|
223
|
+
buttons_to_send.append(self.esm_dict["MYCALL"])
|
224
|
+
|
225
|
+
# elif self.current_widget in ["other_1", "other_2"]:
|
226
|
+
# if self.other_2.text() == "" and self.other_1.text() == "":
|
227
|
+
# self.make_button_green(self.esm_dict["AGN"])
|
228
|
+
# buttons_to_send.append(self.esm_dict["AGN"])
|
229
|
+
# else:
|
230
|
+
# self.make_button_green(self.esm_dict["EXCH"])
|
231
|
+
# buttons_to_send.append(self.esm_dict["EXCH"])
|
232
|
+
# buttons_to_send.append("LOGIT")
|
233
|
+
|
234
|
+
elif self.current_widget in ["other_1", "other_2"]:
|
235
|
+
buttons_to_send.append("LOGIT")
|
236
|
+
|
237
|
+
if with_enter is True and bool(len(buttons_to_send)):
|
238
|
+
for button in buttons_to_send:
|
239
|
+
if button:
|
240
|
+
if button == "LOGIT":
|
241
|
+
self.save_contact()
|
242
|
+
continue
|
243
|
+
self.process_function_key(button)
|
244
|
+
|
245
|
+
|
246
|
+
def populate_history_info_line(self):
|
247
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
248
|
+
if result:
|
249
|
+
self.history_info.setText(
|
250
|
+
f"{result.get('Call', '')}, {result.get('Name', '')}, {result.get('UserText','...')}"
|
251
|
+
)
|
252
|
+
else:
|
253
|
+
self.history_info.setText("")
|
254
|
+
|
255
|
+
|
256
|
+
def check_call_history(self):
|
257
|
+
""""""
|
258
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
259
|
+
if result:
|
260
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
261
|
+
if self.other_1.text() == "":
|
262
|
+
self.other_1.setText(f"{result.get('Name', '')}")
|
not1mm/voice_keying.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.
|
3
|
+
Version: 25.2.12
|
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
|
@@ -228,6 +228,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
228
228
|
- NAQP CW, RTTY, SSB
|
229
229
|
- Phone Weekly Test
|
230
230
|
- RAEM
|
231
|
+
- RandomGram
|
231
232
|
- RAC Canada Day
|
232
233
|
- REF CW, SSB
|
233
234
|
- Stew Perry Topband
|
@@ -236,19 +237,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
236
237
|
|
237
238
|
## Recent Changes
|
238
239
|
|
239
|
-
- [25-
|
240
|
-
- [25-
|
241
|
-
- [25-1-27-1] Add LABRE-RS Digi
|
242
|
-
- [25-1-27] Update pop up about updates...
|
243
|
-
- [25-1-26] Add macros for MARK, SPOT, WIPE, RUN, SANDP.
|
244
|
-
- [25-1-25-2] Add call history to REF CW and SSB.
|
245
|
-
- [25-1-25-1] Fix:ratewindow failed to change stats when contest changed.
|
246
|
-
- [25-1-25] Fix app not following radio mode. Fix crash on recalc mults.
|
247
|
-
- [25-1-24] Fix mismatched quotes causing crash.
|
248
|
-
- [25-1-23] Added a basic rate window. Changed DB to WAL mode.
|
249
|
-
- [25-1-15] Fix bug in ADIF output where mode showed as CW-R and not CW.
|
250
|
-
- [25-1-6] Altered RTTY RU UDP ADIF parse.
|
251
|
-
- [25-1-1] Added ARRL RTTY RU.
|
240
|
+
- [25-2-12] Merged PR from @alduhoo Adding RandomGram event.
|
241
|
+
- [25-2-6] Trimmed out newer tags from UI files, 'cause stuff be old sometimes.
|
252
242
|
|
253
243
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
254
244
|
|
@@ -698,7 +688,7 @@ files in your own voice.
|
|
698
688
|
Aside from the `[filename]` wav files, there are also NATO phonetic wav files
|
699
689
|
for each letter and number. So if your macro key holds
|
700
690
|
`{HISCALL} {SNT} {SENTNR}` and you have entered K5TUX in callsign field during
|
701
|
-
CQ WW SSB while in CQ Zone 3. You'll here Kilo 5 Tango Uniform X-ray, 5 9
|
691
|
+
CQ WW SSB while in CQ Zone 3. You'll here Kilo 5 Tango Uniform X-ray, 5 9, 3.
|
702
692
|
Hopefully not in an idiots voice.
|
703
693
|
|
704
694
|
## cty.dat and QRZ lookups for distance and bearing
|
@@ -706,7 +696,7 @@ Hopefully not in an idiots voice.
|
|
706
696
|
When a callsign is entered, a look up is first done in a cty.dat file to
|
707
697
|
determin the country of origin, geographic center, cq zone and ITU region.
|
708
698
|
Great circle calculations are done to determin the heading and distance from
|
709
|
-
your gridsquare to the
|
699
|
+
your gridsquare to the geographic center. This information then displayed at the
|
710
700
|
bottom left.
|
711
701
|
|
712
702
|

|
@@ -1,5 +1,5 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=fRbyVUHtGYgE9LSIMnJc6e_zQgjnHhzEvu914ZJrp50,147086
|
3
3
|
not1mm/bandmap.py,sha256=vaOeqv_gW0-K0P3xA9JYcuiFILiKw601tjHQCwuoV-s,31260
|
4
4
|
not1mm/checkwindow.py,sha256=VFAcKYTcoWhmIf91chwY6tyao9FQMWPiUkgDDkkWaog,9670
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
@@ -10,7 +10,7 @@ not1mm/ratewindow.py,sha256=UVkQt0nSB2COQlJQV6tFtsz4mP7d-Wj9jcjqvZw934Q,9891
|
|
10
10
|
not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
|
11
11
|
not1mm/test.py,sha256=RN71m2S9MPIOJMaoCi0wZhwEhpEZunvtosZxaKahRB4,101
|
12
12
|
not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
|
13
|
-
not1mm/voice_keying.py,sha256=
|
13
|
+
not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
|
14
14
|
not1mm/data/JetBrainsMono-ExtraLight.ttf,sha256=g5Hn7BPounWMGDj1a8zZcyKMz03HSqW__pUluRR7Evg,274144
|
15
15
|
not1mm/data/MASTER.SCP,sha256=FWKs4Xw3w7FNUt2npA6VzsLME7NAbHRugxaL6TnsvzU,364234
|
16
16
|
not1mm/data/about.ui,sha256=IzbwKQZ_Ea06qGEjJgsa7g8-oYk549f-MEpLtChiLvw,2078
|
@@ -22,7 +22,7 @@ not1mm/data/configuration.ui,sha256=IvE0IkNdqznfo94qQHvJHQFwrYVxp-5aSbkvKnEesOQ,
|
|
22
22
|
not1mm/data/contests.sql,sha256=4hmJCDvrbxnA_Y5S4T5o52TZieeFk6QUwFerwlFePNA,89307
|
23
23
|
not1mm/data/cty.json,sha256=dPG9K1Pm4Rxd4uJom_gQ8y-sbqiZfILpl4kBAFnOveU,4877142
|
24
24
|
not1mm/data/cwmacros.txt,sha256=NztufsX6R52gAO7VyJ2AHr7wOh41pJTwHKh5Lcs32ds,468
|
25
|
-
not1mm/data/donors.html,sha256=
|
25
|
+
not1mm/data/donors.html,sha256=0NEh7eu9Dsfv1Gy0_f6UMp4ZjVjm7OgoQJEQd-4whoU,267
|
26
26
|
not1mm/data/editcontact.ui,sha256=TNOsXETYfDaON4wj6AkzCJ-n2SmbNRO2-g2SLl5m8s0,27437
|
27
27
|
not1mm/data/editmacro.ui,sha256=Vg-S62ogKYcWlDDlza_JYyZkCQfa8mCfF-cFqpBej-w,2700
|
28
28
|
not1mm/data/greendot.png,sha256=6h6KFMj5mmu07ppPWXXewH0PLAvbOOre-5z6rpzWLLo,474
|
@@ -32,18 +32,18 @@ not1mm/data/k6gte.not1mm-32.png,sha256=XdTsCa3xqwTfn26Ga7RwO_Vlbg_77RKkSc8bMxVcC
|
|
32
32
|
not1mm/data/k6gte.not1mm-64.png,sha256=6ku45Gq1g5ezh04F07osoKRtanb3e4kbx5XdIEh3N90,2925
|
33
33
|
not1mm/data/logwindow.ui,sha256=f7vULj96tHIQuR1nJMyvPHHcmVgzkhv9D1isyojsnFU,1458
|
34
34
|
not1mm/data/logwindowx.ui,sha256=CwpI-h7cI1yqyldH9quKftsdHL5lTyL9ABOcf80nfqc,1632
|
35
|
-
not1mm/data/main.ui,sha256=
|
36
|
-
not1mm/data/new_contest.ui,sha256=
|
35
|
+
not1mm/data/main.ui,sha256=CYHxO2GyI9fHvspEW4dZbd4HGnmTnDyWYn9PK8KxU9E,62454
|
36
|
+
not1mm/data/new_contest.ui,sha256=WVTVQ69vnQNKOIi88KPPLgY5hvW3DdgX-pkQtHdaovY,24170
|
37
37
|
not1mm/data/not1mm.html,sha256=c9-mfjMwDt4f5pySUruz2gREW33CQ2_rCddM2z5CZQo,23273
|
38
38
|
not1mm/data/opon.ui,sha256=QDicqAk2lORG2UWsHa6jHlsGn6uzrrI2R4HSAocpPes,2258
|
39
39
|
not1mm/data/pickcontest.ui,sha256=4hPBszCglObThx_eIWtmK9CEcbr7WBjbB1rKZdI-o3I,1707
|
40
40
|
not1mm/data/radio_green.png,sha256=PXlvRI2x0C8yLVkxRwrZe6tex8k9GtM-1Cj2Vy6KP7o,1234
|
41
41
|
not1mm/data/radio_grey.png,sha256=9eOtMHDpQvRYY29D7_vPeacWbwotRXZTMm8EiHE9TW0,1258
|
42
42
|
not1mm/data/radio_red.png,sha256=QvkMk7thd_hCEIyK5xGAG4xVVXivl39nwOfD8USDI20,957
|
43
|
-
not1mm/data/ratewindow.ui,sha256=
|
43
|
+
not1mm/data/ratewindow.ui,sha256=arTJpB81glfETq1uEXkOpE6PK3B6ULUE4AtQGQODobA,35311
|
44
44
|
not1mm/data/reddot.png,sha256=M33jEMoU8W4rQ4_MVyzzKxDPDte1ypKBch5VnUMNLKE,565
|
45
45
|
not1mm/data/rttymacros.txt,sha256=FQ2BnAChXF5w-tzmMnBOE8IgvviAEsd3cmmz4b8GOPk,467
|
46
|
-
not1mm/data/settings.ui,sha256=
|
46
|
+
not1mm/data/settings.ui,sha256=rZmhUjFAyCA8B-cd4Ljrvz5qC3NKy6S3feYVh5WX-tw,40084
|
47
47
|
not1mm/data/splash.png,sha256=85_BQotR1q24uCthrKm4SB_6ZOMwRjR-Jdp1XBHSTyg,5368
|
48
48
|
not1mm/data/ssbmacros.txt,sha256=Q7MrkaBntbeg4yQSoMv3NLoM24V4y_RVati3_wmb0mY,464
|
49
49
|
not1mm/data/vfo.ui,sha256=-fmFMJLPDz0jmsOdCljL7vfmlAQgwyHkGZjomlIN3gc,2076
|
@@ -114,9 +114,9 @@ not1mm/lib/n1mm.py,sha256=H54mpgJF0GAmKavM-nb5OAq2SJFWYkux4eMWWiSRxJc,6288
|
|
114
114
|
not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
|
115
115
|
not1mm/lib/plugin_common.py,sha256=M5reDYM-v5IjAa2yTROvZTeTDkXYHb3U52W9mc9GxwA,13213
|
116
116
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
117
|
-
not1mm/lib/settings.py,sha256=
|
117
|
+
not1mm/lib/settings.py,sha256=PrzLvhKz5_OySdepISdSssJ-yJne2LJODM-wXGc6uHs,14903
|
118
118
|
not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
|
119
|
-
not1mm/lib/version.py,sha256=
|
119
|
+
not1mm/lib/version.py,sha256=jCnz7Kbwsx6niMj5heHVz2mZlvo8M_8r8yCzTmUu-RE,48
|
120
120
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
121
121
|
not1mm/plugins/10_10_fall_cw.py,sha256=5QUyGMvGBC-HxcY_z9QbfuxSg3f7p6C9K4qhTxgZE7k,14719
|
122
122
|
not1mm/plugins/10_10_spring_cw.py,sha256=XjYFM263WYyG6nVQzPObW4YC7Z9L93rixSOcVsxPvH4,14722
|
@@ -161,14 +161,15 @@ not1mm/plugins/naqp_rtty.py,sha256=JbjsY9DvVexXdzoPE4k9zSmcYNEMQpB9lrxdRxl_ldc,2
|
|
161
161
|
not1mm/plugins/naqp_ssb.py,sha256=4ZnlvCwvuX53dvqQdsdj6ipE8U7MZBPKPkMgxdDuzF8,17814
|
162
162
|
not1mm/plugins/phone_weekly_test.py,sha256=9Ue-n4VnZoFOc47ubaegT6ky0-38flMnm5VeieAk_UA,16308
|
163
163
|
not1mm/plugins/raem.py,sha256=yF4WK-T8aPDxSI3pxVwYW-Q7eW9n5gvuaslEBoTYcsI,19562
|
164
|
+
not1mm/plugins/randomgram.py,sha256=h68Ul57maCRhZOou7jU4_B1Dfd3d4n5r-Qzex80yJOk,7401
|
164
165
|
not1mm/plugins/ref_cw.py,sha256=R5W2rooxjsKvbLvEm-kr6kFLrzB6T60fVUl2ETei7ws,21319
|
165
166
|
not1mm/plugins/ref_ssb.py,sha256=Z_XmMpYKcI5dZh4TQqvQDcz-cLpMzpDEKBnb5iHeBLQ,21530
|
166
167
|
not1mm/plugins/stew_perry_topband.py,sha256=D1hekmMbx-i4BhaP2uzOK3OzaVVMMdgcN3RmfweNqHo,15341
|
167
168
|
not1mm/plugins/weekly_rtty.py,sha256=rdlIrsxBeuj-RQc5OStVNF7sGCtBK5t6inN5Z7DI4tw,20066
|
168
169
|
not1mm/plugins/winter_field_day.py,sha256=JK4r1vfxs7aADR7ZYbjZniz3f5s3_ipSQDZ0GRNWC7I,15222
|
169
|
-
not1mm-25.
|
170
|
-
not1mm-25.
|
171
|
-
not1mm-25.
|
172
|
-
not1mm-25.
|
173
|
-
not1mm-25.
|
174
|
-
not1mm-25.
|
170
|
+
not1mm-25.2.12.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
171
|
+
not1mm-25.2.12.dist-info/METADATA,sha256=-x_25J1gEO_zw6bSz28iSZl1CcpZ6Z-pZKl1Td4tu6Q,35599
|
172
|
+
not1mm-25.2.12.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
173
|
+
not1mm-25.2.12.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
174
|
+
not1mm-25.2.12.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
175
|
+
not1mm-25.2.12.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|