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 CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "25.3.23"
3
+ __version__ = "25.3.24"
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(4)
105
- self.tableWidget.setHorizontalHeaderLabels(["BAND", "QSO", "CALLS", "POINTS"])
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.23
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=UW9FKFkJArqSnkrfMKnSi0eL-Nj5iUcIYBffeUtz8NU,5717
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=vU3m0t16VI6NkKZdHZ_j-a-BN1_FKkNq--xKAoyB-bM,48
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.23.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
177
- not1mm-25.3.23.dist-info/METADATA,sha256=O3nl8WeblJtv9jbNlPSOSg8o6eiVleC_h6pxrDWRB_8,37243
178
- not1mm-25.3.23.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
179
- not1mm-25.3.23.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
180
- not1mm-25.3.23.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
181
- not1mm-25.3.23.dist-info/RECORD,,
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,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (77.0.3)
2
+ Generator: setuptools (78.0.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5