not1mm 25.6.4__py3-none-any.whl → 25.6.5__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/dxcc_tracker.py +3 -3
- not1mm/lib/version.py +1 -1
- not1mm/statistics.py +39 -13
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/METADATA +1 -1
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/RECORD +9 -9
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/WHEEL +0 -0
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/entry_points.txt +0 -0
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/licenses/LICENSE +0 -0
- {not1mm-25.6.4.dist-info → not1mm-25.6.5.dist-info}/top_level.txt +0 -0
not1mm/dxcc_tracker.py
CHANGED
@@ -49,7 +49,7 @@ class DXCCWindow(QDockWidget):
|
|
49
49
|
self.model = CustomSqlModel(self)
|
50
50
|
query = QSqlQuery(self.db)
|
51
51
|
query.prepare(
|
52
|
-
"""
|
52
|
+
f"""
|
53
53
|
SELECT CountryPrefix,
|
54
54
|
SUM(CASE WHEN Band = 1.8 THEN 1 ELSE 0 END) AS '160m',
|
55
55
|
SUM(CASE WHEN Band = 3.5 THEN 1 ELSE 0 END) AS '80m',
|
@@ -58,7 +58,7 @@ class DXCCWindow(QDockWidget):
|
|
58
58
|
SUM(CASE WHEN Band = 21.0 THEN 1 ELSE 0 END) AS '15m',
|
59
59
|
SUM(CASE WHEN Band = 28.0 THEN 1 ELSE 0 END) AS '10m',
|
60
60
|
COUNT(*) AS Total
|
61
|
-
FROM DXLOG
|
61
|
+
FROM DXLOG where ContestNR = {self.pref.get('contest', 1)}
|
62
62
|
GROUP BY CountryPrefix
|
63
63
|
ORDER BY Total DESC
|
64
64
|
"""
|
@@ -121,7 +121,7 @@ class DXCCWindow(QDockWidget):
|
|
121
121
|
print("Error: Could not open database")
|
122
122
|
return
|
123
123
|
self.setWindowTitle(
|
124
|
-
f"
|
124
|
+
f"DXCC Tracker - {self.pref.get('current_database', 'ham.db')}"
|
125
125
|
)
|
126
126
|
|
127
127
|
def msg_from_main(self, msg):
|
not1mm/lib/version.py
CHANGED
not1mm/statistics.py
CHANGED
@@ -107,27 +107,41 @@ class StatsWindow(QDockWidget):
|
|
107
107
|
for band in result:
|
108
108
|
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']}';"
|
109
109
|
result = self.database.exec_sql(query)
|
110
|
-
item = QtWidgets.QTableWidgetItem(
|
110
|
+
item = QtWidgets.QTableWidgetItem(
|
111
|
+
str(band.get("band", "")).replace("None", "")
|
112
|
+
)
|
111
113
|
item.setTextAlignment(0x0002)
|
112
114
|
self.tableWidget.setItem(row, 0, item)
|
113
|
-
item = QtWidgets.QTableWidgetItem(
|
115
|
+
item = QtWidgets.QTableWidgetItem(
|
116
|
+
str(result.get("qs", "0")).replace("None", "0")
|
117
|
+
)
|
114
118
|
item.setTextAlignment(0x0002)
|
115
119
|
self.tableWidget.setItem(row, 1, item)
|
116
|
-
item = QtWidgets.QTableWidgetItem(
|
120
|
+
item = QtWidgets.QTableWidgetItem(
|
121
|
+
str(result.get("calls", "0")).replace("None", "0")
|
122
|
+
)
|
117
123
|
item.setTextAlignment(0x0002)
|
118
124
|
self.tableWidget.setItem(row, 2, item)
|
119
|
-
item = QtWidgets.QTableWidgetItem(
|
125
|
+
item = QtWidgets.QTableWidgetItem(
|
126
|
+
str(result.get("points", "0")).replace("None", "0")
|
127
|
+
)
|
120
128
|
item.setTextAlignment(0x0002)
|
121
129
|
self.tableWidget.setItem(row, 6, item)
|
122
130
|
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE WHEN Mode IN ('LSB','USB','SSB','FM','AM') THEN 'PH' WHEN Mode IN ('CW','CW-R') THEN 'CW' WHEN Mode IN ('FT8','FT4','RTTY','PSK31','FSK441','MSK144','JT65','JT9','Q65') THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest} and Band = '{band['band']}') as sortedmode;"
|
123
131
|
result = self.database.exec_sql(query)
|
124
|
-
item = QtWidgets.QTableWidgetItem(
|
132
|
+
item = QtWidgets.QTableWidgetItem(
|
133
|
+
str(result.get("CW", "0")).replace("None", "0")
|
134
|
+
)
|
125
135
|
item.setTextAlignment(0x0002)
|
126
136
|
self.tableWidget.setItem(row, 3, item)
|
127
|
-
item = QtWidgets.QTableWidgetItem(
|
137
|
+
item = QtWidgets.QTableWidgetItem(
|
138
|
+
str(result.get("PH", "0")).replace("None", "0")
|
139
|
+
)
|
128
140
|
item.setTextAlignment(0x0002)
|
129
141
|
self.tableWidget.setItem(row, 4, item)
|
130
|
-
item = QtWidgets.QTableWidgetItem(
|
142
|
+
item = QtWidgets.QTableWidgetItem(
|
143
|
+
str(result.get("DI", "0")).replace("None", "0")
|
144
|
+
)
|
131
145
|
item.setTextAlignment(0x0002)
|
132
146
|
self.tableWidget.setItem(row, 5, item)
|
133
147
|
|
@@ -137,25 +151,37 @@ class StatsWindow(QDockWidget):
|
|
137
151
|
item = QtWidgets.QTableWidgetItem("TOTAL")
|
138
152
|
item.setTextAlignment(0x0002)
|
139
153
|
self.tableWidget.setItem(row, 0, item)
|
140
|
-
item = QtWidgets.QTableWidgetItem(
|
154
|
+
item = QtWidgets.QTableWidgetItem(
|
155
|
+
str(result.get("qs", "0")).replace("None", "0")
|
156
|
+
)
|
141
157
|
item.setTextAlignment(0x0002)
|
142
158
|
self.tableWidget.setItem(row, 1, item)
|
143
|
-
item = QtWidgets.QTableWidgetItem(
|
159
|
+
item = QtWidgets.QTableWidgetItem(
|
160
|
+
str(result.get("calls", "0")).replace("None", "0")
|
161
|
+
)
|
144
162
|
item.setTextAlignment(0x0002)
|
145
163
|
self.tableWidget.setItem(row, 2, item)
|
146
|
-
item = QtWidgets.QTableWidgetItem(
|
164
|
+
item = QtWidgets.QTableWidgetItem(
|
165
|
+
str(result.get("points", "0")).replace("None", "0")
|
166
|
+
)
|
147
167
|
item.setTextAlignment(0x0002)
|
148
168
|
self.tableWidget.setItem(row, 6, item)
|
149
169
|
|
150
170
|
query = f"select sum(sortedmode.mode == 'CW') as CW, sum(sortedmode.mode == 'PH') as PH, sum(sortedmode.mode == 'DI') as DI from (select CASE WHEN Mode IN ('LSB','USB','SSB','FM','AM') THEN 'PH' WHEN Mode IN ('CW','CW-R') THEN 'CW' WHEN Mode In ('FT8','FT4','RTTY','PSK31','FSK441','MSK144','JT65','JT9','Q65') THEN 'DI' ELSE 'OTHER' END mode from DXLOG where ContestNR = {self.database.current_contest}) as sortedmode;"
|
151
171
|
result = self.database.exec_sql(query)
|
152
|
-
item = QtWidgets.QTableWidgetItem(
|
172
|
+
item = QtWidgets.QTableWidgetItem(
|
173
|
+
str(result.get("CW", "0")).replace("None", "0")
|
174
|
+
)
|
153
175
|
item.setTextAlignment(0x0002)
|
154
176
|
self.tableWidget.setItem(row, 3, item)
|
155
|
-
item = QtWidgets.QTableWidgetItem(
|
177
|
+
item = QtWidgets.QTableWidgetItem(
|
178
|
+
str(result.get("PH", "0")).replace("None", "0")
|
179
|
+
)
|
156
180
|
item.setTextAlignment(0x0002)
|
157
181
|
self.tableWidget.setItem(row, 4, item)
|
158
|
-
item = QtWidgets.QTableWidgetItem(
|
182
|
+
item = QtWidgets.QTableWidgetItem(
|
183
|
+
str(result.get("DI", "0")).replace("None", "0")
|
184
|
+
)
|
159
185
|
item.setTextAlignment(0x0002)
|
160
186
|
self.tableWidget.setItem(row, 5, item)
|
161
187
|
self.tableWidget.resizeColumnsToContents()
|
@@ -2,14 +2,14 @@ not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
not1mm/__main__.py,sha256=IHFJFKGAgKyPZUdi-aRDFIS--XJPdoPiV6utXx31_-I,172631
|
3
3
|
not1mm/bandmap.py,sha256=0JmZ32UvkaPjXs2xTgowX1GLvZo5zHU_Zo9y_GL-On4,31139
|
4
4
|
not1mm/checkwindow.py,sha256=zEHlw40j6Wr3rvKbCQf2lcezCoiZqaBqEvBjQU5aKW0,7630
|
5
|
-
not1mm/dxcc_tracker.py,sha256=
|
5
|
+
not1mm/dxcc_tracker.py,sha256=_qFQb5pMW8is2ESMcwy5wbNA480JASORecrzp1aG9CQ,4428
|
6
6
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
7
7
|
not1mm/logwindow.py,sha256=O2dMaT_BYWsXA_dxsEHN92JwN-qVGy9nmH0MCMaG9gY,42830
|
8
8
|
not1mm/lookupservice.py,sha256=GkY_qHZfrW6XHf8upIoaG4hCFqm0fg6Ganu9ConGrIc,2628
|
9
9
|
not1mm/radio.py,sha256=4Lysf9BY3vdtYCHwKfzO5WN7IGyh4_lKSVuQ6F4Z08g,5536
|
10
10
|
not1mm/ratewindow.py,sha256=iBjqdOetIEX0wSwdGM89Ibt4gVlFdE-K8HQPnkVPVOg,6965
|
11
11
|
not1mm/rtc_service.py,sha256=axAwnCBuTr-QL0YwXtWvg9tjwhcFsiiEZFgFjOofX6k,2816
|
12
|
-
not1mm/statistics.py,sha256=
|
12
|
+
not1mm/statistics.py,sha256=eOmUvbbYdbbIYHmaEhtBGab1IxAf2RQYV1q9MItpqEM,7969
|
13
13
|
not1mm/test.py,sha256=BNhsSvLnNG5hN4pywIWnj4pUBI-wQYY4Ejfbl97knmw,1198
|
14
14
|
not1mm/vfo.py,sha256=SsqinokSd8BqVp6l-_DGRKcNN9Uc9JiFYXDl9Ycep1o,10111
|
15
15
|
not1mm/voice_keying.py,sha256=HZImqC5NgnyW2nknNYQ3b7I8-6S_hxpq5G4RcIRXn_k,3005
|
@@ -122,7 +122,7 @@ not1mm/lib/plugin_common.py,sha256=nqiUq11T9Wz8RDrRen4Zvp-KXVWUYcIp5JPZwqmu2Oo,1
|
|
122
122
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
123
123
|
not1mm/lib/settings.py,sha256=5xnsagH48qGeCDhfxPWW9yaXtv8wT13yoIVvYt8h_Qs,16023
|
124
124
|
not1mm/lib/super_check_partial.py,sha256=jX7DjHesEV4KNVQbddJui0wAsYHerikH7W0iPv7PXQw,3110
|
125
|
-
not1mm/lib/version.py,sha256=
|
125
|
+
not1mm/lib/version.py,sha256=9X0d8KV1y0JrPQtUFpAdZIuu9JmLu4LcunrSi930uw0,47
|
126
126
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
127
127
|
not1mm/plugins/10_10_fall_cw.py,sha256=oJh3JKqjOpnWElSlZpiQ631UnaOd8qra5s9bl_QoInk,14783
|
128
128
|
not1mm/plugins/10_10_spring_cw.py,sha256=p7dSDtbFK0e6Xouw2V6swYn3VFVgHKyx4IfRWyBjMZY,14786
|
@@ -186,9 +186,9 @@ not1mm/plugins/ukeidx.py,sha256=ZsIFXgOSwjuKNmN4W_C0TAgGqgnabJGNLMHwGkl3_bk,1910
|
|
186
186
|
not1mm/plugins/vhf_sprint.py,sha256=a9QFTpv8XUbZ_GLjdVCh7svykFa-gXOWwKFZ6MD3uQM,19289
|
187
187
|
not1mm/plugins/weekly_rtty.py,sha256=C8Xs3Q5UgSYx-mFFar8BVARWtmqlyrbeC98Ubzb4UN8,20128
|
188
188
|
not1mm/plugins/winter_field_day.py,sha256=hmAMgkdqIXtnCNyUp8J9Bb8liN8wj10wps6ROuG-Bok,15284
|
189
|
-
not1mm-25.6.
|
190
|
-
not1mm-25.6.
|
191
|
-
not1mm-25.6.
|
192
|
-
not1mm-25.6.
|
193
|
-
not1mm-25.6.
|
194
|
-
not1mm-25.6.
|
189
|
+
not1mm-25.6.5.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
190
|
+
not1mm-25.6.5.dist-info/METADATA,sha256=N1DGmWG_jPAskYTmSoIMdYSfWv4XLZpRejJL5nvzGlg,34676
|
191
|
+
not1mm-25.6.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
192
|
+
not1mm-25.6.5.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
193
|
+
not1mm-25.6.5.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
194
|
+
not1mm-25.6.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|