not1mm 24.10.27.2__py3-none-any.whl → 24.11.2__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 +110 -2
- not1mm/data/configuration.ui +617 -612
- not1mm/data/main.ui +34 -7
- not1mm/lib/database.py +97 -0
- not1mm/lib/settings.py +8 -1
- not1mm/lib/version.py +1 -1
- not1mm/plugins/arrl_ss_cw.py +10 -0
- not1mm/test.py +57 -7
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/METADATA +2 -31
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/RECORD +14 -14
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/WHEEL +1 -1
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/LICENSE +0 -0
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/entry_points.txt +0 -0
- {not1mm-24.10.27.2.dist-info → not1mm-24.11.2.dist-info}/top_level.txt +0 -0
not1mm/data/main.ui
CHANGED
@@ -9,8 +9,8 @@
|
|
9
9
|
<rect>
|
10
10
|
<x>0</x>
|
11
11
|
<y>0</y>
|
12
|
-
<width>
|
13
|
-
<height>
|
12
|
+
<width>855</width>
|
13
|
+
<height>641</height>
|
14
14
|
</rect>
|
15
15
|
</property>
|
16
16
|
<property name="sizePolicy">
|
@@ -59,7 +59,7 @@
|
|
59
59
|
<number>0</number>
|
60
60
|
</property>
|
61
61
|
<item row="1" column="0">
|
62
|
-
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,0,0">
|
62
|
+
<layout class="QVBoxLayout" name="verticalLayout" stretch="1,0,0,0">
|
63
63
|
<item>
|
64
64
|
<layout class="QHBoxLayout" name="mainsection">
|
65
65
|
<item>
|
@@ -1302,7 +1302,7 @@
|
|
1302
1302
|
<enum>Qt::FocusPolicy::NoFocus</enum>
|
1303
1303
|
</property>
|
1304
1304
|
<property name="text">
|
1305
|
-
<string
|
1305
|
+
<string>---</string>
|
1306
1306
|
</property>
|
1307
1307
|
</widget>
|
1308
1308
|
</item>
|
@@ -1322,7 +1322,7 @@
|
|
1322
1322
|
<enum>Qt::FocusPolicy::NoFocus</enum>
|
1323
1323
|
</property>
|
1324
1324
|
<property name="text">
|
1325
|
-
<string
|
1325
|
+
<string>---</string>
|
1326
1326
|
</property>
|
1327
1327
|
</widget>
|
1328
1328
|
</item>
|
@@ -1342,7 +1342,7 @@
|
|
1342
1342
|
<enum>Qt::FocusPolicy::NoFocus</enum>
|
1343
1343
|
</property>
|
1344
1344
|
<property name="text">
|
1345
|
-
<string
|
1345
|
+
<string>---</string>
|
1346
1346
|
</property>
|
1347
1347
|
</widget>
|
1348
1348
|
</item>
|
@@ -1367,6 +1367,13 @@
|
|
1367
1367
|
</item>
|
1368
1368
|
</layout>
|
1369
1369
|
</item>
|
1370
|
+
<item>
|
1371
|
+
<widget class="QLabel" name="history_info">
|
1372
|
+
<property name="text">
|
1373
|
+
<string/>
|
1374
|
+
</property>
|
1375
|
+
</widget>
|
1376
|
+
</item>
|
1370
1377
|
<item>
|
1371
1378
|
<layout class="QHBoxLayout" name="StatusLine">
|
1372
1379
|
<property name="sizeConstraint">
|
@@ -1443,7 +1450,7 @@
|
|
1443
1450
|
<rect>
|
1444
1451
|
<x>0</x>
|
1445
1452
|
<y>0</y>
|
1446
|
-
<width>
|
1453
|
+
<width>855</width>
|
1447
1454
|
<height>25</height>
|
1448
1455
|
</rect>
|
1449
1456
|
</property>
|
@@ -1476,6 +1483,7 @@
|
|
1476
1483
|
<addaction name="separator"/>
|
1477
1484
|
<addaction name="actionEdit_Macros"/>
|
1478
1485
|
<addaction name="separator"/>
|
1486
|
+
<addaction name="actionLoad_Call_History_File"/>
|
1479
1487
|
<addaction name="actionUpdate_CTY"/>
|
1480
1488
|
<addaction name="actionUpdate_MASTER_SCP"/>
|
1481
1489
|
<addaction name="separator"/>
|
@@ -1496,6 +1504,7 @@
|
|
1496
1504
|
</property>
|
1497
1505
|
<addaction name="actionCW_Macros"/>
|
1498
1506
|
<addaction name="actionDark_Mode_2"/>
|
1507
|
+
<addaction name="actionCommand_Buttons_2"/>
|
1499
1508
|
</widget>
|
1500
1509
|
<widget class="QMenu" name="menuWindow">
|
1501
1510
|
<property name="title">
|
@@ -1978,6 +1987,24 @@
|
|
1978
1987
|
</font>
|
1979
1988
|
</property>
|
1980
1989
|
</action>
|
1990
|
+
<action name="actionLoad_Call_History_File">
|
1991
|
+
<property name="text">
|
1992
|
+
<string>Load Call History File</string>
|
1993
|
+
</property>
|
1994
|
+
</action>
|
1995
|
+
<action name="actionShow_Command_Buttons">
|
1996
|
+
<property name="text">
|
1997
|
+
<string>Command Buttons</string>
|
1998
|
+
</property>
|
1999
|
+
</action>
|
2000
|
+
<action name="actionCommand_Buttons_2">
|
2001
|
+
<property name="checkable">
|
2002
|
+
<bool>true</bool>
|
2003
|
+
</property>
|
2004
|
+
<property name="text">
|
2005
|
+
<string>Command Buttons</string>
|
2006
|
+
</property>
|
2007
|
+
</action>
|
1981
2008
|
</widget>
|
1982
2009
|
<resources/>
|
1983
2010
|
<connections/>
|
not1mm/lib/database.py
CHANGED
@@ -78,6 +78,7 @@ class DataBase:
|
|
78
78
|
self.create_contest_table()
|
79
79
|
self.create_contest_instance_table()
|
80
80
|
self.create_station_table()
|
81
|
+
self.create_callhistory_table()
|
81
82
|
|
82
83
|
@staticmethod
|
83
84
|
def row_factory(cursor, row):
|
@@ -152,6 +153,36 @@ class DataBase:
|
|
152
153
|
except sqlite3.OperationalError as exception:
|
153
154
|
logger.debug("%s", exception)
|
154
155
|
|
156
|
+
def create_callhistory_table(self) -> None:
|
157
|
+
"""creates the callhistory table"""
|
158
|
+
logger.debug("Creating DXLOG Table")
|
159
|
+
try:
|
160
|
+
with sqlite3.connect(self.database) as conn:
|
161
|
+
cursor = conn.cursor()
|
162
|
+
sql_command = (
|
163
|
+
"CREATE TABLE IF NOT EXISTS CALLHISTORY ("
|
164
|
+
"Call VARCHAR(15) NOT NULL, "
|
165
|
+
"Name VARCHAR(20), "
|
166
|
+
"Loc1 VARCHAR(6) DEFAULT '', "
|
167
|
+
"Loc2 VARCHAR(6) DEFAULT '', "
|
168
|
+
"Sect VARCHAR(8) DEFAULT '', "
|
169
|
+
"State VARCHAR(8) DEFAULT '', "
|
170
|
+
"CK TINYINT DEFAULT 0, "
|
171
|
+
"BirthDate DATE, "
|
172
|
+
"Exch1 VARCHAR(12) DEFAULT '', "
|
173
|
+
"Misc VARCHAR(15) DEFAULT '', "
|
174
|
+
"Power VARCHAR(8) DEFAULT '', "
|
175
|
+
"CqZone TINYINT DEFAULT 0, "
|
176
|
+
"ITUZone TINYINT DEFAULT 0, "
|
177
|
+
"UserText VARCHAR(60) DEFAULT '', "
|
178
|
+
"LastUpdateNote VARCHAR(20) DEFAULT '' "
|
179
|
+
");"
|
180
|
+
)
|
181
|
+
cursor.execute(sql_command)
|
182
|
+
conn.commit()
|
183
|
+
except sqlite3.OperationalError as exception:
|
184
|
+
logger.debug("%s", exception)
|
185
|
+
|
155
186
|
def update_dxlog_table(self) -> None:
|
156
187
|
"""update missing columns"""
|
157
188
|
logger.debug("Updating DXLOG Table")
|
@@ -356,6 +387,49 @@ class DataBase:
|
|
356
387
|
logger.debug("%s", exception)
|
357
388
|
return {}
|
358
389
|
|
390
|
+
def add_callhistory_item(self, history: dict) -> None:
|
391
|
+
"""Add an item to the call history db"""
|
392
|
+
pre = "INSERT INTO CALLHISTORY("
|
393
|
+
values = []
|
394
|
+
columns = ""
|
395
|
+
placeholders = ""
|
396
|
+
for key in history.keys():
|
397
|
+
columns += f"{key},"
|
398
|
+
values.append(history[key])
|
399
|
+
placeholders += "?,"
|
400
|
+
post = f") VALUES({placeholders[:-1]});"
|
401
|
+
sql = f"{pre}{columns[:-1]}{post}"
|
402
|
+
|
403
|
+
try:
|
404
|
+
with sqlite3.connect(self.database) as conn:
|
405
|
+
cur = conn.cursor()
|
406
|
+
cur.execute(sql, tuple(values))
|
407
|
+
conn.commit()
|
408
|
+
except sqlite3.Error as exception:
|
409
|
+
logger.info("%s", exception)
|
410
|
+
|
411
|
+
def add_callhistory_items(self, history_list: list) -> None:
|
412
|
+
"""Add a list of items to the call history db"""
|
413
|
+
try:
|
414
|
+
with sqlite3.connect(self.database) as conn:
|
415
|
+
for history in history_list:
|
416
|
+
pre = "INSERT INTO CALLHISTORY("
|
417
|
+
values = []
|
418
|
+
columns = ""
|
419
|
+
placeholders = ""
|
420
|
+
for key in history.keys():
|
421
|
+
columns += f"{key},"
|
422
|
+
values.append(history[key])
|
423
|
+
placeholders += "?,"
|
424
|
+
post = f") VALUES({placeholders[:-1]});"
|
425
|
+
sql = f"{pre}{columns[:-1]}{post}"
|
426
|
+
cur = conn.cursor()
|
427
|
+
cur.execute(sql, tuple(values))
|
428
|
+
conn.commit()
|
429
|
+
except sqlite3.Error as exception:
|
430
|
+
print(exception)
|
431
|
+
logger.info("%s", exception)
|
432
|
+
|
359
433
|
def add_contest(self, contest: dict) -> None:
|
360
434
|
"""Add Contest"""
|
361
435
|
|
@@ -465,6 +539,29 @@ class DataBase:
|
|
465
539
|
except sqlite3.Error as exception:
|
466
540
|
logger.info("DataBase delete_contact: %s", exception)
|
467
541
|
|
542
|
+
def delete_callhistory(self) -> None:
|
543
|
+
"""Deletes all info from callhistory table."""
|
544
|
+
try:
|
545
|
+
with sqlite3.connect(self.database) as conn:
|
546
|
+
sql = "delete from CALLHISTORY;"
|
547
|
+
cur = conn.cursor()
|
548
|
+
cur.execute(sql)
|
549
|
+
conn.commit()
|
550
|
+
except sqlite3.Error as exception:
|
551
|
+
logger.info("%s", exception)
|
552
|
+
|
553
|
+
def fetch_call_history(self, call: str):
|
554
|
+
""""""
|
555
|
+
try:
|
556
|
+
with sqlite3.connect(self.database) as conn:
|
557
|
+
conn.row_factory = self.row_factory
|
558
|
+
cursor = conn.cursor()
|
559
|
+
cursor.execute(f"select * from CALLHISTORY where call='{call}';")
|
560
|
+
return cursor.fetchone()
|
561
|
+
except sqlite3.OperationalError as exception:
|
562
|
+
logger.debug("%s", exception)
|
563
|
+
return {}
|
564
|
+
|
468
565
|
def fetch_all_contacts_asc(self) -> list:
|
469
566
|
"""returns a list of dicts with contacts in the database."""
|
470
567
|
try:
|
not1mm/lib/settings.py
CHANGED
@@ -19,6 +19,8 @@ class Settings(QtWidgets.QDialog):
|
|
19
19
|
super().__init__(parent)
|
20
20
|
self.logger = logging.getLogger("settings")
|
21
21
|
uic.loadUi(app_data_path / "configuration.ui", self)
|
22
|
+
self.tabWidget.setTabVisible(5, False)
|
23
|
+
# self.group_tab.hide()
|
22
24
|
self.buttonBox.accepted.connect(self.save_changes)
|
23
25
|
self.usecwdaemon_radioButton.clicked.connect(self.set_cwdaemon_port_hint)
|
24
26
|
self.usepywinkeyer_radioButton.clicked.connect(self.set_winkeyer_port_hint)
|
@@ -39,7 +41,11 @@ class Settings(QtWidgets.QDialog):
|
|
39
41
|
def setup(self):
|
40
42
|
"""setup dialog"""
|
41
43
|
|
42
|
-
self.
|
44
|
+
self.use_call_history.setChecked(
|
45
|
+
bool(self.preference.get("use_call_history", False))
|
46
|
+
)
|
47
|
+
|
48
|
+
self.use_esm.setChecked(bool(self.preference.get("use_esm", False)))
|
43
49
|
|
44
50
|
value = self.preference.get("esm_agn", "DISABLED")
|
45
51
|
index = self.esm_agn.findText(value)
|
@@ -188,6 +194,7 @@ class Settings(QtWidgets.QDialog):
|
|
188
194
|
"""
|
189
195
|
Write preferences to json file.
|
190
196
|
"""
|
197
|
+
self.preference["use_call_history"] = self.use_call_history.isChecked()
|
191
198
|
self.preference["use_esm"] = self.use_esm.isChecked()
|
192
199
|
self.preference["esm_cq"] = self.esm_cq.currentText()
|
193
200
|
self.preference["esm_agn"] = self.esm_agn.currentText()
|
not1mm/lib/version.py
CHANGED
not1mm/plugins/arrl_ss_cw.py
CHANGED
@@ -134,6 +134,16 @@ def prefill(self):
|
|
134
134
|
field.setText(serial_nr)
|
135
135
|
|
136
136
|
|
137
|
+
def check_call_history(self):
|
138
|
+
""""""
|
139
|
+
result = self.database.fetch_call_history(self.callsign.text())
|
140
|
+
print(f"{result=}")
|
141
|
+
if result:
|
142
|
+
self.history_info.setText(f"{result.get('UserText','')}")
|
143
|
+
if self.other_2.text() == "":
|
144
|
+
self.other_2.setText(f" {result.get('CK','')}{result.get('Sect', '')}")
|
145
|
+
|
146
|
+
|
137
147
|
def points(self):
|
138
148
|
"""Calc point"""
|
139
149
|
return 2
|
not1mm/test.py
CHANGED
@@ -1,11 +1,61 @@
|
|
1
|
-
from
|
1
|
+
from not1mm.lib.database import DataBase
|
2
|
+
from json import loads
|
3
|
+
import not1mm.fsutils as fsutils
|
4
|
+
import os
|
2
5
|
|
3
|
-
|
6
|
+
dbname = None
|
7
|
+
pref = {}
|
4
8
|
|
5
|
-
proxy = bus.get_proxy("org.freedesktop.Notifications", "/org/freedesktop/Notifications")
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
)
|
10
|
+
def load_pref():
|
11
|
+
try:
|
12
|
+
if os.path.exists(fsutils.CONFIG_FILE):
|
13
|
+
with open(fsutils.CONFIG_FILE, "rt", encoding="utf-8") as file_descriptor:
|
14
|
+
pref = loads(file_descriptor.read())
|
15
|
+
else:
|
16
|
+
pref["current_database"] = "ham.db"
|
10
17
|
|
11
|
-
|
18
|
+
except IOError:
|
19
|
+
...
|
20
|
+
|
21
|
+
|
22
|
+
load_pref()
|
23
|
+
dbname = fsutils.USER_DATA_PATH / pref.get("current_database", "ham.db")
|
24
|
+
database = DataBase(dbname, fsutils.USER_DATA_PATH)
|
25
|
+
|
26
|
+
database.create_callhistory_table()
|
27
|
+
database.delete_callhistory()
|
28
|
+
|
29
|
+
try:
|
30
|
+
with open(
|
31
|
+
"/home/mbridak/call_history/CWOPS_3634-AAA.txt", "rt", encoding="utf-8"
|
32
|
+
) as file_descriptor:
|
33
|
+
lines = file_descriptor.readlines()
|
34
|
+
if "!!Order!!" in lines[0]:
|
35
|
+
item_names = lines[0].strip().split(",")
|
36
|
+
# ['!!Order!!', 'Call', 'Sect', 'State', 'CK', 'UserText', '']
|
37
|
+
item_names = item_names[1:-1]
|
38
|
+
# ['Call', 'Sect', 'State', 'CK', 'UserText']
|
39
|
+
lines = lines[1:]
|
40
|
+
group_list = []
|
41
|
+
for line in lines:
|
42
|
+
if line.startswith("#"):
|
43
|
+
continue
|
44
|
+
group = {}
|
45
|
+
fields = line.strip().split(",")
|
46
|
+
# ['4U1WB','MDC','DC','89','']
|
47
|
+
count = 0
|
48
|
+
try:
|
49
|
+
for item in item_names:
|
50
|
+
if item == "":
|
51
|
+
continue
|
52
|
+
group[item] = fields[count]
|
53
|
+
count += 1
|
54
|
+
group_list.append(group)
|
55
|
+
# database.add_callhistory_item(group)
|
56
|
+
# print(f"{group=}")
|
57
|
+
except IndexError:
|
58
|
+
...
|
59
|
+
database.add_callhistory_items(group_list)
|
60
|
+
except FileNotFoundError:
|
61
|
+
print("error")
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.
|
3
|
+
Version: 24.11.2
|
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
|
@@ -232,36 +232,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
232
232
|
|
233
233
|
## Recent Changes (Polishing the Turd)
|
234
234
|
|
235
|
-
- [24-
|
236
|
-
- [24-10-27-1] Fixed setting radios ssb mode when crossing 10M boundary.
|
237
|
-
- [24-10-27] Fix bug where a contacts info could be carried over to new contact if no new value was written.
|
238
|
-
- [24-10-26] Clear inputs when seeking to a call from the bandmap via the arrow up and down. Fixed bandmap crash from bad telnet data. Drop beacons from bandmap.
|
239
|
-
- [24-10-25] Add File Menu option to create either an ASCII or UTF8 Cabrillo.
|
240
|
-
- [24-10-24-1] Make all Cabrillo files with UTF-8.
|
241
|
-
- [24-10-24] Forgot to convert the VFO dockwidget along with the rest. CQ WW CW, Dupes now score 0.
|
242
|
-
- [24-10-23] Remove duplicate marked calls in the bandmap.
|
243
|
-
- [24-10-22] Added ESM to RAC Canada Day. Added French REF.
|
244
|
-
- [24-10-21] Scaled back the hits returned from the check window from 25 to 20. Seems less resource hungry now.
|
245
|
-
- [24-10-20-1] ReWrote how the widgets interact. I probably broke a thing or two. Let me know.
|
246
|
-
- [24-10-20] Add ESM to ARRL DX.
|
247
|
-
- [24-10-19-1] Rewrite part of CAT control.
|
248
|
-
- [24-10-19] Change ESM button states when the run state is toggled. Add ESM to ARRL Field Day and Winter Field Day.
|
249
|
-
- [24-10-18] Fixed marked spots showing the correct time.
|
250
|
-
- [24-10-17-2] Add ESM to ARRL Sweepstakes.
|
251
|
-
- [24-10-17-1] Fix dupe check. Reordered change mode and interface update sequence. Resend mode if rigctld does not report back `RPRT 0`
|
252
|
-
- [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.
|
253
|
-
- [24-10-15-1] Fix callsigns with a slash failing check during ESM.
|
254
|
-
- [24-10-15] Add NAQP RTTY, Added ESM to NAQP.
|
255
|
-
- [24-10-14] Add ESM to CQ WPX.
|
256
|
-
- [24-10-13] Added ESM to Weekly RTTY, K1USN and CWT.
|
257
|
-
- [24-10-11] added ESM to CQWW SSB and RTTY.
|
258
|
-
- [24-10-10] Add ESM to CQ WW CW to test it out.
|
259
|
-
- [24-10-8] Fix crash on Tune to spot. Change placeholder text for the CW port for those unable to read documentation.
|
260
|
-
- [24-10-6] Removed 60, 30, 17 and 12M from the default list of bands.
|
261
|
-
- [24-10-5-1] Store the bandmap spots age timer in the preferences.
|
262
|
-
- [24-10-5] Force reselction of contest after different DB opened.
|
263
|
-
- [24-10-2] Add WPX RTTY.
|
264
|
-
- [24-10-1] Merged PR removing leading zeros from serial numbers. Merged PR correcting the parsing of lookups for previous name and state in the CWT.
|
235
|
+
- [24-11-2] Add beginning of call history files. Add command buttons.
|
265
236
|
|
266
237
|
See [CHANGELOG.md](CHANGELOG.md) for prior changes.
|
267
238
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=7th18LkLGN7OnN-q20QuE381dxIOXzr3DKfaLtWCr9w,140914
|
3
3
|
not1mm/bandmap.py,sha256=X6mMHXS1kXBbUPZCaKgiVJ6Dz6DE6LEQqtEXfT3telg,30811
|
4
4
|
not1mm/checkwindow.py,sha256=F6hNCbVSLG2PPY2afgmwlBWeqr1Uj4-n__AivDLVQ_0,9670
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
6
6
|
not1mm/logwindow.py,sha256=TvpzQTNB92hISlUO3iWBqtlPmlebdhOkAArx0DNGcOs,43966
|
7
7
|
not1mm/lookupservice.py,sha256=4c36x_1G3Sy69gQfJ6El7vHLIKTjLGH67ziPPoeYweM,2648
|
8
8
|
not1mm/radio.py,sha256=eu1kBjmttREFZ5tAJpNuQSMrmWeKw4Tb-sjgjChUYUs,4693
|
9
|
-
not1mm/test.py,sha256=
|
9
|
+
not1mm/test.py,sha256=o3DH2wQ3C_HwK650dBqNFf0eYCg5D6s8_GvJht1WjVo,1924
|
10
10
|
not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
|
11
11
|
not1mm/voice_keying.py,sha256=sA3gw5_k7kShTg2qhG7HkKDM5M6KheJVRkAc_C7mxDk,3006
|
12
12
|
not1mm/data/JetBrainsMono-ExtraLight.ttf,sha256=g5Hn7BPounWMGDj1a8zZcyKMz03HSqW__pUluRR7Evg,274144
|
@@ -16,7 +16,7 @@ not1mm/data/alpha bravo charlie delta.txt,sha256=d5QMmSWEUAe4Rj1XbNjTPLa_5Be4Se6
|
|
16
16
|
not1mm/data/bandmap.ui,sha256=hvovf1YKyfUVVbKl6Ib2zU4RdUrFsQwm-255wVeKXZE,7180
|
17
17
|
not1mm/data/check.png,sha256=UvFOLr8V-79qnjW8wUaGItXk_OSP8m8hqPevs8NDlFY,387
|
18
18
|
not1mm/data/checkwindow.ui,sha256=Ux5EgO-JalGB9qx3M6tmMpGHO0RmuuY1w0XEbuwd1xk,4658
|
19
|
-
not1mm/data/configuration.ui,sha256=
|
19
|
+
not1mm/data/configuration.ui,sha256=iva5exfJJFBiiITpz6vgCB8e_j0lgsLeVWOltxtUk4g,70006
|
20
20
|
not1mm/data/contests.sql,sha256=4hmJCDvrbxnA_Y5S4T5o52TZieeFk6QUwFerwlFePNA,89307
|
21
21
|
not1mm/data/cty.json,sha256=dPG9K1Pm4Rxd4uJom_gQ8y-sbqiZfILpl4kBAFnOveU,4877142
|
22
22
|
not1mm/data/cwmacros.txt,sha256=NztufsX6R52gAO7VyJ2AHr7wOh41pJTwHKh5Lcs32ds,468
|
@@ -30,7 +30,7 @@ not1mm/data/k6gte.not1mm-32.png,sha256=XdTsCa3xqwTfn26Ga7RwO_Vlbg_77RKkSc8bMxVcC
|
|
30
30
|
not1mm/data/k6gte.not1mm-64.png,sha256=6ku45Gq1g5ezh04F07osoKRtanb3e4kbx5XdIEh3N90,2925
|
31
31
|
not1mm/data/logwindow.ui,sha256=f7vULj96tHIQuR1nJMyvPHHcmVgzkhv9D1isyojsnFU,1458
|
32
32
|
not1mm/data/logwindowx.ui,sha256=CwpI-h7cI1yqyldH9quKftsdHL5lTyL9ABOcf80nfqc,1632
|
33
|
-
not1mm/data/main.ui,sha256=
|
33
|
+
not1mm/data/main.ui,sha256=pI-70TYESe85ENkRH8l1DXnKDOkwYqKXUdMk6KYaN50,63193
|
34
34
|
not1mm/data/new_contest.ui,sha256=CBvg-L_81Aftk9_cp88aHrFMLhpRsM80BmA6gOpaGa0,23429
|
35
35
|
not1mm/data/not1mm.html,sha256=c9-mfjMwDt4f5pySUruz2gREW33CQ2_rCddM2z5CZQo,23273
|
36
36
|
not1mm/data/opon.ui,sha256=QDicqAk2lORG2UWsHa6jHlsGn6uzrrI2R4HSAocpPes,2258
|
@@ -97,7 +97,7 @@ not1mm/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
97
97
|
not1mm/lib/about.py,sha256=sWycfGcruN3SaEe4JmaJ61K6D8Itq0WxpUYT-lEcmYM,416
|
98
98
|
not1mm/lib/cat_interface.py,sha256=Vkxq4JvWguP8O95JYUfQ5hrllzggm6jeFXFiTBKvnw8,22534
|
99
99
|
not1mm/lib/cwinterface.py,sha256=3H_Ur5qtZCg6AA-CBURdnS3IUcvs3YAcwYLO0S8SUBg,3621
|
100
|
-
not1mm/lib/database.py,sha256=
|
100
|
+
not1mm/lib/database.py,sha256=nqWp2eJ7JfUTqaQ9AVbx3XjgtlRnYY9ruTQCv2YRreY,48310
|
101
101
|
not1mm/lib/edit_contact.py,sha256=Ki9bGPpqyQQBB1cU8VIBDCal3lbXeQ6qxhzklmhE2_w,353
|
102
102
|
not1mm/lib/edit_macro.py,sha256=raKWBwsHInj5EUKmvyLQ6gqc3ZFDlstsD3xqoM4PC8E,517
|
103
103
|
not1mm/lib/edit_opon.py,sha256=j3qJ1aBsQoIOnQ9yiBl3lyeISvKTP0I_rtBYBPAfgeI,359
|
@@ -113,9 +113,9 @@ not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
|
|
113
113
|
not1mm/lib/playsound.py,sha256=kxkcitBFbZCXJ2wxQ1lxg4rBwfxiSpuNpJSXHOPCoXA,9241
|
114
114
|
not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9727
|
115
115
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
116
|
-
not1mm/lib/settings.py,sha256=
|
116
|
+
not1mm/lib/settings.py,sha256=Xt0WE2ro_kUYdugQ0Pe1SQX07MHrJ0jyQqDqAKKqxuU,13564
|
117
117
|
not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
|
118
|
-
not1mm/lib/version.py,sha256=
|
118
|
+
not1mm/lib/version.py,sha256=pRpJebKEGw9jPFJsZe4XWJV3SfLTQj5DNbxN3j2YgiU,48
|
119
119
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
120
120
|
not1mm/plugins/10_10_fall_cw.py,sha256=QQjEgWQRT35qG1bi87QhoUIOzGbN8C27WIUhhoFNsAI,11866
|
121
121
|
not1mm/plugins/10_10_spring_cw.py,sha256=nGznP9VLooaDnHi0JXttosqAtSRH32oXwWmMrXf95A0,11871
|
@@ -127,7 +127,7 @@ not1mm/plugins/arrl_dx_cw.py,sha256=6CxLhewtceKCWY3jMyhdxknW4Eg1uFqTK0To-9sjZAc,
|
|
127
127
|
not1mm/plugins/arrl_dx_ssb.py,sha256=AqSiIRlC4UAVyc4S2MnUqT1-vFkxQStl0zjeXPThRCk,18011
|
128
128
|
not1mm/plugins/arrl_field_day.py,sha256=Jukp3TxYJojPVktA5hMaq272hiCqvl0V8A71F5mL--A,16961
|
129
129
|
not1mm/plugins/arrl_rtty_ru.py,sha256=hKUS4isjdXo3EYxQrsqsDupPp2chW8fpoWj0T1pTgJ4,7994
|
130
|
-
not1mm/plugins/arrl_ss_cw.py,sha256=
|
130
|
+
not1mm/plugins/arrl_ss_cw.py,sha256=wXMgPkSj3-ZZ-Sl8JJdTxVIlh87QQx7AWKeVtrzKkyo,17590
|
131
131
|
not1mm/plugins/arrl_ss_phone.py,sha256=XnfNFwtjuAxu285DUsUQdDNC_mDtKut0CT2KVRDKZN8,17240
|
132
132
|
not1mm/plugins/arrl_vhf_jan.py,sha256=QonafOYBtrdwlvMSyu0SyroDLsyIqHvJ46Mx-QoaI4Q,16630
|
133
133
|
not1mm/plugins/arrl_vhf_jun.py,sha256=F8XhZvYEx-rwaeKbiOGQybQrusurzOkRtKMx5oHY1hE,15722
|
@@ -160,9 +160,9 @@ not1mm/plugins/ref_ssb.py,sha256=UC8xwl4uRihTvlYsITCvfTCPVbNXpnO91T8qMDKaW8E,209
|
|
160
160
|
not1mm/plugins/stew_perry_topband.py,sha256=UOK9M23eMkcEB83kL8NPHl6QDBJFCXKZpBRlhfuEH2c,11581
|
161
161
|
not1mm/plugins/weekly_rtty.py,sha256=WoMfQXJczvoHQB04i6TAvL6MF91uOOQ9ZmB9BpUkOfo,19098
|
162
162
|
not1mm/plugins/winter_field_day.py,sha256=wPxHKPPeyE2XlRT6Unnz09evFwd0ghWtXU5l-nMr3aI,14492
|
163
|
-
not1mm-24.
|
164
|
-
not1mm-24.
|
165
|
-
not1mm-24.
|
166
|
-
not1mm-24.
|
167
|
-
not1mm-24.
|
168
|
-
not1mm-24.
|
163
|
+
not1mm-24.11.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
164
|
+
not1mm-24.11.2.dist-info/METADATA,sha256=szJETrgmUj0gukL2o-smSRdGH-QMKSu793tH9GtgtfI,33359
|
165
|
+
not1mm-24.11.2.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
166
|
+
not1mm-24.11.2.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
167
|
+
not1mm-24.11.2.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
168
|
+
not1mm-24.11.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|