not1mm 25.3.24__py3-none-any.whl → 25.3.25.1__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 +3 -0
- not1mm/data/statistics.ui +6 -22
- not1mm/lib/version.py +1 -1
- not1mm/logwindow.py +24 -1
- not1mm/statistics.py +60 -18
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/METADATA +4 -2
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/RECORD +11 -11
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/WHEEL +1 -1
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/entry_points.txt +0 -0
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/licenses/LICENSE +0 -0
- {not1mm-25.3.24.dist-info → not1mm-25.3.25.1.dist-info}/top_level.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -864,6 +864,9 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
864
864
|
def dockwidget_message(self, msg):
|
865
865
|
"""signal from bandmap"""
|
866
866
|
if msg:
|
867
|
+
if msg.get("cmd", "") == "CONTACTCHANGED":
|
868
|
+
if self.statistics_window:
|
869
|
+
self.statistics_window.msg_from_main(msg)
|
867
870
|
if msg.get("cmd", "") == "GETCOLUMNS":
|
868
871
|
if hasattr(self.contest, "columns"):
|
869
872
|
cmd = {}
|
not1mm/data/statistics.ui
CHANGED
@@ -10,34 +10,18 @@
|
|
10
10
|
<height>192</height>
|
11
11
|
</rect>
|
12
12
|
</property>
|
13
|
+
<property name="font">
|
14
|
+
<font>
|
15
|
+
<family>JetBrains Mono ExtraLight</family>
|
16
|
+
</font>
|
17
|
+
</property>
|
13
18
|
<property name="windowTitle">
|
14
19
|
<string>Stats</string>
|
15
20
|
</property>
|
16
21
|
<widget class="QWidget" name="dockWidgetContents">
|
17
22
|
<layout class="QGridLayout" name="gridLayout">
|
18
23
|
<item row="1" column="2">
|
19
|
-
<widget class="QTableWidget" name="tableWidget"
|
20
|
-
<column>
|
21
|
-
<property name="text">
|
22
|
-
<string>Band</string>
|
23
|
-
</property>
|
24
|
-
</column>
|
25
|
-
<column>
|
26
|
-
<property name="text">
|
27
|
-
<string>QSO's</string>
|
28
|
-
</property>
|
29
|
-
</column>
|
30
|
-
<column>
|
31
|
-
<property name="text">
|
32
|
-
<string>Calls</string>
|
33
|
-
</property>
|
34
|
-
</column>
|
35
|
-
<column>
|
36
|
-
<property name="text">
|
37
|
-
<string>Points</string>
|
38
|
-
</property>
|
39
|
-
</column>
|
40
|
-
</widget>
|
24
|
+
<widget class="QTableWidget" name="tableWidget"/>
|
41
25
|
</item>
|
42
26
|
</layout>
|
43
27
|
</widget>
|
not1mm/lib/version.py
CHANGED
not1mm/logwindow.py
CHANGED
@@ -4,7 +4,7 @@ not1mm Contest logger
|
|
4
4
|
Email: michael.bridak@gmail.com
|
5
5
|
GPL V3
|
6
6
|
Class: LogWindow
|
7
|
-
Purpose: Onscreen widget to show and edit logged contacts.
|
7
|
+
Purpose: Onscreen widget to show and edit logged contacts.
|
8
8
|
"""
|
9
9
|
# pylint: disable=no-name-in-module, unused-import, no-member, c-extension-no-member
|
10
10
|
# pylint: disable=logging-fstring-interpolation, too-many-lines
|
@@ -164,6 +164,11 @@ class LogWindow(QDockWidget):
|
|
164
164
|
log.verticalHeader().setVisible(False)
|
165
165
|
|
166
166
|
self.get_log()
|
167
|
+
self.generalLog.resizeColumnsToContents()
|
168
|
+
self.generalLog.resizeRowsToContents()
|
169
|
+
self.focusedLog.resizeColumnsToContents()
|
170
|
+
self.focusedLog.resizeRowsToContents()
|
171
|
+
|
167
172
|
cmd = {}
|
168
173
|
cmd["cmd"] = "GETCOLUMNS"
|
169
174
|
self.message.emit(cmd)
|
@@ -404,6 +409,10 @@ class LogWindow(QDockWidget):
|
|
404
409
|
}
|
405
410
|
self.database.change_contact(db_record)
|
406
411
|
|
412
|
+
cmd = {}
|
413
|
+
cmd["cmd"] = "CONTACTCHANGED"
|
414
|
+
self.message.emit(cmd)
|
415
|
+
|
407
416
|
if self.n1mm.send_contact_packets:
|
408
417
|
self.n1mm.contact_info["timestamp"] = db_record["TS"]
|
409
418
|
self.n1mm.contact_info["contestname"] = self.contact["ContestName"].replace(
|
@@ -517,6 +526,10 @@ class LogWindow(QDockWidget):
|
|
517
526
|
}
|
518
527
|
self.database.change_contact(db_record)
|
519
528
|
|
529
|
+
cmd = {}
|
530
|
+
cmd["cmd"] = "CONTACTCHANGED"
|
531
|
+
self.message.emit(cmd)
|
532
|
+
|
520
533
|
if self.n1mm.send_contact_packets:
|
521
534
|
self.n1mm.contact_info["timestamp"] = db_record["TS"]
|
522
535
|
self.n1mm.contact_info["contestname"] = self.contact["ContestName"].replace(
|
@@ -731,6 +744,9 @@ class LogWindow(QDockWidget):
|
|
731
744
|
|
732
745
|
self.database.change_contact(self.contact)
|
733
746
|
self.get_log()
|
747
|
+
cmd = {}
|
748
|
+
cmd["cmd"] = "CONTACTCHANGED"
|
749
|
+
self.message.emit(cmd)
|
734
750
|
self.show_like_calls(self.contact.get("Call", ""))
|
735
751
|
|
736
752
|
def delete_contact(self) -> None:
|
@@ -758,6 +774,9 @@ class LogWindow(QDockWidget):
|
|
758
774
|
self.n1mm.send_contact_delete()
|
759
775
|
self.edit_contact_dialog.close()
|
760
776
|
self.get_log()
|
777
|
+
cmd = {}
|
778
|
+
cmd["cmd"] = "CONTACTCHANGED"
|
779
|
+
self.message.emit(cmd)
|
761
780
|
self.show_like_calls(self.contact.get("Call", ""))
|
762
781
|
|
763
782
|
def get_log(self) -> None:
|
@@ -927,6 +946,10 @@ class LogWindow(QDockWidget):
|
|
927
946
|
)
|
928
947
|
self.generalLog.blockSignals(False)
|
929
948
|
self.focusedLog.blockSignals(False)
|
949
|
+
self.generalLog.resizeColumnsToContents()
|
950
|
+
self.generalLog.resizeRowsToContents()
|
951
|
+
self.focusedLog.resizeColumnsToContents()
|
952
|
+
self.focusedLog.resizeRowsToContents()
|
930
953
|
|
931
954
|
def show_like_calls(self, call: str) -> None:
|
932
955
|
"""
|
not1mm/statistics.py
CHANGED
@@ -6,9 +6,9 @@ import os
|
|
6
6
|
|
7
7
|
from PyQt6 import uic, QtWidgets
|
8
8
|
from PyQt6.QtWidgets import QDockWidget
|
9
|
-
from PyQt6.QtCore import pyqtSignal
|
9
|
+
from PyQt6.QtCore import pyqtSignal
|
10
10
|
|
11
|
-
|
11
|
+
from PyQt6.QtGui import QColorConstants, QPalette, QColor
|
12
12
|
|
13
13
|
import not1mm.fsutils as fsutils
|
14
14
|
from not1mm.lib.database import DataBase
|
@@ -43,9 +43,6 @@ class StatsWindow(QDockWidget):
|
|
43
43
|
self.database = DataBase(self.dbname, fsutils.APP_DATA_PATH)
|
44
44
|
self.database.current_contest = self.pref.get("contest", 0)
|
45
45
|
uic.loadUi(fsutils.APP_DATA_PATH / "statistics.ui", self)
|
46
|
-
self.timer = QTimer()
|
47
|
-
self.timer.timeout.connect(self.get_run_and_total_qs)
|
48
|
-
self.timer.start(5000)
|
49
46
|
|
50
47
|
def msg_from_main(self, packet):
|
51
48
|
""""""
|
@@ -56,6 +53,10 @@ class StatsWindow(QDockWidget):
|
|
56
53
|
if self.active is False:
|
57
54
|
return
|
58
55
|
|
56
|
+
if packet.get("cmd", "") == "CONTACTCHANGED":
|
57
|
+
self.get_run_and_total_qs()
|
58
|
+
return
|
59
|
+
|
59
60
|
if packet.get("cmd", "") == "UPDATELOG":
|
60
61
|
logger.debug("External refresh command.")
|
61
62
|
self.get_run_and_total_qs()
|
@@ -68,6 +69,7 @@ class StatsWindow(QDockWidget):
|
|
68
69
|
)
|
69
70
|
self.database = DataBase(self.dbname, fsutils.APP_DATA_PATH)
|
70
71
|
self.database.current_contest = self.pref.get("contest", 0)
|
72
|
+
self.get_run_and_total_qs()
|
71
73
|
|
72
74
|
def setActive(self, mode: bool) -> None:
|
73
75
|
self.active = bool(mode)
|
@@ -75,6 +77,46 @@ class StatsWindow(QDockWidget):
|
|
75
77
|
def setDarkMode(self, dark: bool) -> None:
|
76
78
|
"""Forces a darkmode palette."""
|
77
79
|
|
80
|
+
if dark:
|
81
|
+
darkPalette = QPalette()
|
82
|
+
darkColor = QColor(56, 56, 56)
|
83
|
+
disabledColor = QColor(127, 127, 127)
|
84
|
+
darkPalette.setColor(QPalette.ColorRole.Window, darkColor)
|
85
|
+
darkPalette.setColor(QPalette.ColorRole.WindowText, QColorConstants.White)
|
86
|
+
darkPalette.setColor(QPalette.ColorRole.Base, QColor(45, 45, 45))
|
87
|
+
darkPalette.setColor(QPalette.ColorRole.AlternateBase, darkColor)
|
88
|
+
darkPalette.setColor(QPalette.ColorRole.Text, QColorConstants.White)
|
89
|
+
darkPalette.setColor(QPalette.ColorRole.Button, darkColor)
|
90
|
+
darkPalette.setColor(QPalette.ColorRole.ButtonText, QColorConstants.White)
|
91
|
+
darkPalette.setColor(QPalette.ColorRole.BrightText, QColorConstants.Red)
|
92
|
+
darkPalette.setColor(QPalette.ColorRole.Link, QColor(42, 130, 218))
|
93
|
+
darkPalette.setColor(QPalette.ColorRole.Highlight, QColor(42, 130, 218))
|
94
|
+
darkPalette.setColor(
|
95
|
+
QPalette.ColorRole.HighlightedText, QColorConstants.Black
|
96
|
+
)
|
97
|
+
darkPalette.setColor(
|
98
|
+
QPalette.ColorGroup.Disabled,
|
99
|
+
QPalette.ColorRole.ButtonText,
|
100
|
+
disabledColor,
|
101
|
+
)
|
102
|
+
darkPalette.setColor(
|
103
|
+
QPalette.ColorGroup.Disabled,
|
104
|
+
QPalette.ColorRole.HighlightedText,
|
105
|
+
disabledColor,
|
106
|
+
)
|
107
|
+
darkPalette.setColor(
|
108
|
+
QPalette.ColorGroup.Disabled,
|
109
|
+
QPalette.ColorRole.Text,
|
110
|
+
disabledColor,
|
111
|
+
)
|
112
|
+
|
113
|
+
self.setPalette(darkPalette)
|
114
|
+
self.current_palette = darkPalette
|
115
|
+
else:
|
116
|
+
palette = self.style().standardPalette()
|
117
|
+
self.setPalette(palette)
|
118
|
+
self.current_palette = palette
|
119
|
+
|
78
120
|
def load_pref(self) -> None:
|
79
121
|
"""
|
80
122
|
Load preference file to get current db filename and sets the initial darkmode state.
|
@@ -124,27 +166,27 @@ class StatsWindow(QDockWidget):
|
|
124
166
|
for band in result:
|
125
167
|
query = f"select count(*) as qs, count(DISTINCT(Call)) as calls, sum(Points) as points from DXLOG where ContestNR = {self.database.current_contest} and Band = '{band['band']}';"
|
126
168
|
result = self.database.exec_sql(query)
|
127
|
-
item = QtWidgets.QTableWidgetItem(str(band
|
169
|
+
item = QtWidgets.QTableWidgetItem(str(band.get("band", "")))
|
128
170
|
item.setTextAlignment(0x0002)
|
129
171
|
self.tableWidget.setItem(row, 0, item)
|
130
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
172
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("qs", "0")))
|
131
173
|
item.setTextAlignment(0x0002)
|
132
174
|
self.tableWidget.setItem(row, 1, item)
|
133
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
175
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("calls", "0")))
|
134
176
|
item.setTextAlignment(0x0002)
|
135
177
|
self.tableWidget.setItem(row, 2, item)
|
136
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
178
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("points", "0")))
|
137
179
|
item.setTextAlignment(0x0002)
|
138
180
|
self.tableWidget.setItem(row, 6, item)
|
139
181
|
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE Mode WHEN 'LSB' THEN 'PH' WHEN 'USB' THEN 'PH' WHEN 'CW' THEN 'CW' WHEN 'RTTY' THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest} and Band = '{band['band']}') as sortedmode;"
|
140
182
|
result = self.database.exec_sql(query)
|
141
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
183
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("CW", "0")))
|
142
184
|
item.setTextAlignment(0x0002)
|
143
185
|
self.tableWidget.setItem(row, 3, item)
|
144
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
186
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("PH", "0")))
|
145
187
|
item.setTextAlignment(0x0002)
|
146
188
|
self.tableWidget.setItem(row, 4, item)
|
147
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
189
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("DI", "0")))
|
148
190
|
item.setTextAlignment(0x0002)
|
149
191
|
self.tableWidget.setItem(row, 5, item)
|
150
192
|
|
@@ -154,25 +196,25 @@ class StatsWindow(QDockWidget):
|
|
154
196
|
item = QtWidgets.QTableWidgetItem("TOTAL")
|
155
197
|
item.setTextAlignment(0x0002)
|
156
198
|
self.tableWidget.setItem(row, 0, item)
|
157
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
199
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("qs", "0")))
|
158
200
|
item.setTextAlignment(0x0002)
|
159
201
|
self.tableWidget.setItem(row, 1, item)
|
160
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
202
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("calls", "0")))
|
161
203
|
item.setTextAlignment(0x0002)
|
162
204
|
self.tableWidget.setItem(row, 2, item)
|
163
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
205
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("points", "0")))
|
164
206
|
item.setTextAlignment(0x0002)
|
165
207
|
self.tableWidget.setItem(row, 6, item)
|
166
208
|
|
167
209
|
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE Mode WHEN 'LSB' THEN 'PH' WHEN 'USB' THEN 'PH' WHEN 'CW' THEN 'CW' WHEN 'RTTY' THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest}) as sortedmode;"
|
168
210
|
result = self.database.exec_sql(query)
|
169
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
211
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("CW", "0")))
|
170
212
|
item.setTextAlignment(0x0002)
|
171
213
|
self.tableWidget.setItem(row, 3, item)
|
172
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
214
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("PH", "0")))
|
173
215
|
item.setTextAlignment(0x0002)
|
174
216
|
self.tableWidget.setItem(row, 4, item)
|
175
|
-
item = QtWidgets.QTableWidgetItem(str(result
|
217
|
+
item = QtWidgets.QTableWidgetItem(str(result.get("DI", "0")))
|
176
218
|
item.setTextAlignment(0x0002)
|
177
219
|
self.tableWidget.setItem(row, 5, item)
|
178
220
|
self.tableWidget.resizeColumnsToContents()
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.3.
|
3
|
+
Version: 25.3.25.1
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
|
-
License
|
6
|
+
License: GPL-3.0-or-later
|
7
7
|
Project-URL: Homepage, https://github.com/mbridak/not1mm
|
8
8
|
Project-URL: Bug Tracker, https://github.com/mbridak/not1mm/issues
|
9
9
|
Classifier: Programming Language :: Python :: 3
|
@@ -247,6 +247,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
247
247
|
|
248
248
|
## Recent Changes
|
249
249
|
|
250
|
+
- [25-3-25-1] Improved process messaging.
|
251
|
+
- [25-3-25] Use safer dict key access in the stats window.
|
250
252
|
- [25-3-24] Add CW, PH, DI counts to the statistics window.
|
251
253
|
- [25-3-23] Add a statistics window.
|
252
254
|
- [25-3-19-1] Add EA His Maj King of Spain SSB.
|
@@ -1,14 +1,14 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=9ZLWDHNb5qJuxMEg5GKeD20UXuRHlrR-rIeN2u21Csw,151697
|
3
3
|
not1mm/bandmap.py,sha256=mdSK6oj8plEmr6WVYkzPTCfsHWKl9lea3R14cmRsAI4,31531
|
4
4
|
not1mm/checkwindow.py,sha256=VFAcKYTcoWhmIf91chwY6tyao9FQMWPiUkgDDkkWaog,9670
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
6
|
-
not1mm/logwindow.py,sha256=
|
6
|
+
not1mm/logwindow.py,sha256=Djobfy13WQ0yZWw2ET6mDUsuJEOvbrsbt2RS0fW8-4E,44700
|
7
7
|
not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
|
8
8
|
not1mm/radio.py,sha256=_b-tSFuDLoBKnABxrsafGQu2p33U-KOubY7-qgLV2yg,5408
|
9
9
|
not1mm/ratewindow.py,sha256=UVkQt0nSB2COQlJQV6tFtsz4mP7d-Wj9jcjqvZw934Q,9891
|
10
10
|
not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
|
11
|
-
not1mm/statistics.py,sha256=
|
11
|
+
not1mm/statistics.py,sha256=vZ76iaMZQLgOriKAg9SicmA_Y9qdiqHJ2T7IoOO5iXo,9620
|
12
12
|
not1mm/test.py,sha256=RN71m2S9MPIOJMaoCi0wZhwEhpEZunvtosZxaKahRB4,101
|
13
13
|
not1mm/vfo.py,sha256=ggPyWtxMbdSE5RwdK0nDRwDNqOxdpb_pvnzZdbzZVQE,11136
|
14
14
|
not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
|
@@ -47,7 +47,7 @@ not1mm/data/rttymacros.txt,sha256=FQ2BnAChXF5w-tzmMnBOE8IgvviAEsd3cmmz4b8GOPk,46
|
|
47
47
|
not1mm/data/settings.ui,sha256=rZmhUjFAyCA8B-cd4Ljrvz5qC3NKy6S3feYVh5WX-tw,40084
|
48
48
|
not1mm/data/splash.png,sha256=85_BQotR1q24uCthrKm4SB_6ZOMwRjR-Jdp1XBHSTyg,5368
|
49
49
|
not1mm/data/ssbmacros.txt,sha256=Q7MrkaBntbeg4yQSoMv3NLoM24V4y_RVati3_wmb0mY,464
|
50
|
-
not1mm/data/statistics.ui,sha256=
|
50
|
+
not1mm/data/statistics.ui,sha256=JRpf-On3FsW-halZsfo0QOaiSi1m4tW9HWD3dAgLp0c,722
|
51
51
|
not1mm/data/vfo.ui,sha256=-fmFMJLPDz0jmsOdCljL7vfmlAQgwyHkGZjomlIN3gc,2076
|
52
52
|
not1mm/data/phonetics/0.wav,sha256=0OpYiR-3MK6fVHE6MB-HeOxSAPiDNMjqvx5JcIZtsQk,42590
|
53
53
|
not1mm/data/phonetics/1.wav,sha256=OEAavA8cfVxFZwaT0HY9Wg9NAGEPKBhwhEdzGXkQs_U,30248
|
@@ -118,7 +118,7 @@ not1mm/lib/plugin_common.py,sha256=D1OBjyLmX7zuSPqgTCmHwXzAKA12J_zTQItvyIem-4Y,1
|
|
118
118
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
119
119
|
not1mm/lib/settings.py,sha256=mXffn8Xaj5KATPQinNBR0V5DbHWQPsRfh24_axWGYuk,15254
|
120
120
|
not1mm/lib/super_check_partial.py,sha256=hwT2NRwobu0PLDyw6ltmbmcAtGBD02CKGFbgGWjXMqA,2334
|
121
|
-
not1mm/lib/version.py,sha256=
|
121
|
+
not1mm/lib/version.py,sha256=SKj4r7lEIjLeD8QQRRVxsZuo0H-n3mXD10xKg4YlIFo,50
|
122
122
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
123
123
|
not1mm/plugins/10_10_fall_cw.py,sha256=P63dEhRmvsEV7ixHYg-qhs5zzj0_DJXjjPHQBQr8Wwg,14731
|
124
124
|
not1mm/plugins/10_10_spring_cw.py,sha256=S_z-KbExH4_kfRbKo07zM-iVlJUKxFwzbm6LRnXYyNU,14734
|
@@ -173,9 +173,9 @@ not1mm/plugins/ref_ssb.py,sha256=tGK5XeFrc3z7l8OViG9DM3rc4HLUBF9S3SUkaAPrjQk,215
|
|
173
173
|
not1mm/plugins/stew_perry_topband.py,sha256=LHt0WnWMRS_m5nO9BOIQs0kO38M6x-k4eaA4nbEqDVA,15353
|
174
174
|
not1mm/plugins/weekly_rtty.py,sha256=4gfFg25KGkU9tKmwslHLc38qPAXuRGWNX48n582NC7w,20078
|
175
175
|
not1mm/plugins/winter_field_day.py,sha256=jLgEr95hJCZoc3Fi95PiNeB06thPQHFI3zOHmR6NprE,15234
|
176
|
-
not1mm-25.3.
|
177
|
-
not1mm-25.3.
|
178
|
-
not1mm-25.3.
|
179
|
-
not1mm-25.3.
|
180
|
-
not1mm-25.3.
|
181
|
-
not1mm-25.3.
|
176
|
+
not1mm-25.3.25.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
177
|
+
not1mm-25.3.25.1.dist-info/METADATA,sha256=acj-Ll6ob6QsRdAa8uAjZvWUtb3Y1nYreeUPyVifVzc,37395
|
178
|
+
not1mm-25.3.25.1.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
179
|
+
not1mm-25.3.25.1.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
180
|
+
not1mm-25.3.25.1.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
181
|
+
not1mm-25.3.25.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|