not1mm 25.3.23__py3-none-any.whl → 25.3.24__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/lib/version.py +1 -1
- not1mm/statistics.py +34 -3
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/METADATA +2 -1
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/RECORD +8 -8
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/WHEEL +1 -1
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/entry_points.txt +0 -0
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/licenses/LICENSE +0 -0
- {not1mm-25.3.23.dist-info → not1mm-25.3.24.dist-info}/top_level.txt +0 -0
not1mm/lib/version.py
CHANGED
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, QTimer
|
9
10
|
|
10
11
|
# from PyQt6.QtGui import QColorConstants, QPalette, QColor
|
11
|
-
from PyQt6.QtCore import pyqtSignal
|
12
12
|
|
13
13
|
import not1mm.fsutils as fsutils
|
14
14
|
from not1mm.lib.database import DataBase
|
@@ -43,6 +43,9 @@ 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)
|
46
49
|
|
47
50
|
def msg_from_main(self, packet):
|
48
51
|
""""""
|
@@ -100,9 +103,13 @@ class StatsWindow(QDockWidget):
|
|
100
103
|
|
101
104
|
def get_run_and_total_qs(self):
|
102
105
|
"""get numbers"""
|
106
|
+
if self.active is False:
|
107
|
+
return
|
103
108
|
self.tableWidget.clear()
|
104
|
-
self.tableWidget.setColumnCount(
|
105
|
-
self.tableWidget.setHorizontalHeaderLabels(
|
109
|
+
self.tableWidget.setColumnCount(7)
|
110
|
+
self.tableWidget.setHorizontalHeaderLabels(
|
111
|
+
["BAND", "QSO", "CALLS", "CW", "PH", "DI", "PTS"]
|
112
|
+
)
|
106
113
|
self.tableWidget.verticalHeader().setVisible(False)
|
107
114
|
self.tableWidget.setEditTriggers(
|
108
115
|
QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers
|
@@ -128,7 +135,19 @@ class StatsWindow(QDockWidget):
|
|
128
135
|
self.tableWidget.setItem(row, 2, item)
|
129
136
|
item = QtWidgets.QTableWidgetItem(str(result["points"]))
|
130
137
|
item.setTextAlignment(0x0002)
|
138
|
+
self.tableWidget.setItem(row, 6, item)
|
139
|
+
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
|
+
result = self.database.exec_sql(query)
|
141
|
+
item = QtWidgets.QTableWidgetItem(str(result["CW"]))
|
142
|
+
item.setTextAlignment(0x0002)
|
131
143
|
self.tableWidget.setItem(row, 3, item)
|
144
|
+
item = QtWidgets.QTableWidgetItem(str(result["PH"]))
|
145
|
+
item.setTextAlignment(0x0002)
|
146
|
+
self.tableWidget.setItem(row, 4, item)
|
147
|
+
item = QtWidgets.QTableWidgetItem(str(result["DI"]))
|
148
|
+
item.setTextAlignment(0x0002)
|
149
|
+
self.tableWidget.setItem(row, 5, item)
|
150
|
+
|
132
151
|
row += 1
|
133
152
|
query = f"select count(*) as qs, count(DISTINCT(Call)) as calls, sum(Points) as points from DXLOG where ContestNR = {self.database.current_contest};"
|
134
153
|
result = self.database.exec_sql(query)
|
@@ -143,7 +162,19 @@ class StatsWindow(QDockWidget):
|
|
143
162
|
self.tableWidget.setItem(row, 2, item)
|
144
163
|
item = QtWidgets.QTableWidgetItem(str(result["points"]))
|
145
164
|
item.setTextAlignment(0x0002)
|
165
|
+
self.tableWidget.setItem(row, 6, item)
|
166
|
+
|
167
|
+
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
|
+
result = self.database.exec_sql(query)
|
169
|
+
item = QtWidgets.QTableWidgetItem(str(result["CW"]))
|
170
|
+
item.setTextAlignment(0x0002)
|
146
171
|
self.tableWidget.setItem(row, 3, item)
|
172
|
+
item = QtWidgets.QTableWidgetItem(str(result["PH"]))
|
173
|
+
item.setTextAlignment(0x0002)
|
174
|
+
self.tableWidget.setItem(row, 4, item)
|
175
|
+
item = QtWidgets.QTableWidgetItem(str(result["DI"]))
|
176
|
+
item.setTextAlignment(0x0002)
|
177
|
+
self.tableWidget.setItem(row, 5, item)
|
147
178
|
self.tableWidget.resizeColumnsToContents()
|
148
179
|
self.tableWidget.resizeRowsToContents()
|
149
180
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: not1mm
|
3
|
-
Version: 25.3.
|
3
|
+
Version: 25.3.24
|
4
4
|
Summary: NOT1MM Logger
|
5
5
|
Author-email: Michael Bridak <michael.bridak@gmail.com>
|
6
6
|
License-Expression: GPL-3.0-or-later
|
@@ -247,6 +247,7 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
247
247
|
|
248
248
|
## Recent Changes
|
249
249
|
|
250
|
+
- [25-3-24] Add CW, PH, DI counts to the statistics window.
|
250
251
|
- [25-3-23] Add a statistics window.
|
251
252
|
- [25-3-19-1] Add EA His Maj King of Spain SSB.
|
252
253
|
- [25-3-19] Merged PR from @DD5ML Adding DARC VHF.
|
@@ -8,7 +8,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=tQFg30ACVvr70d86-iESoogzrQ_oigPbqT-IZm1srpo,7659
|
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
|
@@ -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=TwlZeMOON2yGjP4amQ9-MNVirRzyqwv4djYoZb27rkY,48
|
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.24.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
177
|
+
not1mm-25.3.24.dist-info/METADATA,sha256=4mn9fR27nhlDe5Od0K68ySALpGrIapLrzohw9Fmtr9w,37303
|
178
|
+
not1mm-25.3.24.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
|
179
|
+
not1mm-25.3.24.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
180
|
+
not1mm-25.3.24.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
|
181
|
+
not1mm-25.3.24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|