not1mm 24.10.5__py3-none-any.whl → 24.10.6__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 +24 -18
- not1mm/bandmap.py +6 -0
- not1mm/lib/multicast.py +2 -2
- not1mm/lib/version.py +1 -1
- not1mm/plugins/cq_wpx_rtty.py +3 -3
- not1mm/plugins/cq_ww_rtty.py +2 -2
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/METADATA +4 -2
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/RECORD +13 -12
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/top_level.txt +1 -0
- test/contests.py +591 -0
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/LICENSE +0 -0
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/WHEEL +0 -0
- {not1mm-24.10.5.dist-info → not1mm-24.10.6.dist-info}/entry_points.txt +0 -0
not1mm/__main__.py
CHANGED
@@ -95,7 +95,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
95
95
|
"command_buttons": False,
|
96
96
|
"cw_macros": True,
|
97
97
|
"bands_modes": True,
|
98
|
-
"bands": ["160", "80", "
|
98
|
+
"bands": ["160", "80", "40", "20", "15", "10"],
|
99
99
|
"current_database": "ham.db",
|
100
100
|
"contest": "",
|
101
101
|
"multicast_group": "239.1.1.1",
|
@@ -125,6 +125,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
125
125
|
"cluster_port": 7373,
|
126
126
|
"cluster_filter": "Set DX Filter SpotterCont=NA",
|
127
127
|
"cluster_mode": "OPEN",
|
128
|
+
"cluster_expire": 1,
|
128
129
|
"logwindow": False,
|
129
130
|
"bandmapwindow": False,
|
130
131
|
"checkwindow": False,
|
@@ -600,6 +601,7 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
600
601
|
self.bandmap_window.setFeatures(dockfeatures)
|
601
602
|
self.addDockWidget(Qt.DockWidgetArea.LeftDockWidgetArea, self.bandmap_window)
|
602
603
|
self.bandmap_window.hide()
|
604
|
+
self.bandmap_window.cluster_expire.connect(self.cluster_expire_updated)
|
603
605
|
|
604
606
|
self.show_splash_msg("Setting up CheckWindow.")
|
605
607
|
self.check_window = CheckWindow()
|
@@ -658,6 +660,11 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
658
660
|
)
|
659
661
|
QCoreApplication.processEvents()
|
660
662
|
|
663
|
+
def cluster_expire_updated(self, number):
|
664
|
+
"""signal from bandmap"""
|
665
|
+
self.pref["cluster_expire"] = int(number)
|
666
|
+
self.write_preference()
|
667
|
+
|
661
668
|
def fldigi_qso(self, result: str):
|
662
669
|
"""
|
663
670
|
gets called when there is a new fldigi qso logged.
|
@@ -2585,7 +2592,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2585
2592
|
self.radio_thread.finished.connect(self.rig_control.deleteLater)
|
2586
2593
|
self.rig_control.poll_callback.connect(self.poll_radio)
|
2587
2594
|
self.radio_thread.start()
|
2588
|
-
# self.rig_control.delta = 1
|
2589
2595
|
|
2590
2596
|
if self.pref.get("userigctld", False):
|
2591
2597
|
logger.debug(
|
@@ -2602,7 +2608,6 @@ class MainWindow(QtWidgets.QMainWindow):
|
|
2602
2608
|
self.radio_thread.finished.connect(self.rig_control.deleteLater)
|
2603
2609
|
self.rig_control.poll_callback.connect(self.poll_radio)
|
2604
2610
|
self.radio_thread.start()
|
2605
|
-
# self.rig_control.delta = 1
|
2606
2611
|
|
2607
2612
|
if self.pref.get("cwtype", 0) == 0:
|
2608
2613
|
self.cw = None
|
@@ -3597,6 +3602,21 @@ def run() -> None:
|
|
3597
3602
|
"""
|
3598
3603
|
Main Entry
|
3599
3604
|
"""
|
3605
|
+
splash.show()
|
3606
|
+
# app.processEvents()
|
3607
|
+
splash.showMessage(
|
3608
|
+
"Starting Up",
|
3609
|
+
alignment=Qt.AlignmentFlag.AlignBottom | Qt.AlignmentFlag.AlignCenter,
|
3610
|
+
color=QColor(255, 255, 0),
|
3611
|
+
)
|
3612
|
+
QCoreApplication.processEvents()
|
3613
|
+
|
3614
|
+
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
3615
|
+
logger.info(f"font families {families}")
|
3616
|
+
window = MainWindow(splash)
|
3617
|
+
window.callsign.setFocus()
|
3618
|
+
splash.finish(window)
|
3619
|
+
window.show()
|
3600
3620
|
logger.debug(
|
3601
3621
|
f"Resolved OS file system paths: MODULE_PATH {fsutils.MODULE_PATH}, USER_DATA_PATH {fsutils.USER_DATA_PATH}, CONFIG_PATH {fsutils.CONFIG_PATH}"
|
3602
3622
|
)
|
@@ -3620,25 +3640,11 @@ logging.basicConfig(
|
|
3620
3640
|
)
|
3621
3641
|
logging.getLogger("PyQt6.uic.uiparser").setLevel("INFO")
|
3622
3642
|
logging.getLogger("PyQt6.uic.properties").setLevel("INFO")
|
3643
|
+
|
3623
3644
|
app = QtWidgets.QApplication(sys.argv)
|
3624
3645
|
|
3625
3646
|
pixmap = QPixmap(f"{os.fspath(fsutils.APP_DATA_PATH)}/splash.png")
|
3626
3647
|
splash = QSplashScreen(pixmap)
|
3627
|
-
splash.show()
|
3628
|
-
# app.processEvents()
|
3629
|
-
splash.showMessage(
|
3630
|
-
"Starting Up",
|
3631
|
-
alignment=Qt.AlignmentFlag.AlignBottom | Qt.AlignmentFlag.AlignCenter,
|
3632
|
-
color=QColor(255, 255, 0),
|
3633
|
-
)
|
3634
|
-
QCoreApplication.processEvents()
|
3635
|
-
|
3636
|
-
families = load_fonts_from_dir(os.fspath(fsutils.APP_DATA_PATH))
|
3637
|
-
logger.info(f"font families {families}")
|
3638
|
-
window = MainWindow(splash)
|
3639
|
-
window.callsign.setFocus()
|
3640
|
-
splash.finish(window)
|
3641
|
-
window.show()
|
3642
3648
|
|
3643
3649
|
if __name__ == "__main__":
|
3644
3650
|
run()
|
not1mm/bandmap.py
CHANGED
@@ -21,6 +21,7 @@ from json import loads
|
|
21
21
|
from PyQt6 import QtCore, QtGui, QtWidgets, uic, QtNetwork
|
22
22
|
from PyQt6.QtGui import QColorConstants, QPalette, QColor
|
23
23
|
from PyQt6.QtWidgets import QDockWidget
|
24
|
+
from PyQt6.QtCore import pyqtSignal
|
24
25
|
|
25
26
|
import not1mm.fsutils as fsutils
|
26
27
|
from not1mm.lib.multicast import Multicast
|
@@ -322,6 +323,7 @@ class BandMapWindow(QDockWidget):
|
|
322
323
|
worked_list = {}
|
323
324
|
multicast_interface = None
|
324
325
|
text_color = QColor(45, 45, 45)
|
326
|
+
cluster_expire = pyqtSignal(str)
|
325
327
|
|
326
328
|
def __init__(self):
|
327
329
|
super().__init__()
|
@@ -329,6 +331,9 @@ class BandMapWindow(QDockWidget):
|
|
329
331
|
|
330
332
|
uic.loadUi(fsutils.APP_DATA_PATH / "bandmap.ui", self)
|
331
333
|
self.settings = self.get_settings()
|
334
|
+
self.clear_spot_olderSpinBox.setValue(
|
335
|
+
int(self.settings.get("cluster_expire", 1))
|
336
|
+
)
|
332
337
|
self.agetime = self.clear_spot_olderSpinBox.value()
|
333
338
|
self.clear_spot_olderSpinBox.valueChanged.connect(self.spot_aging_changed)
|
334
339
|
self.clearButton.clicked.connect(self.clear_spots)
|
@@ -876,6 +881,7 @@ class BandMapWindow(QDockWidget):
|
|
876
881
|
def spot_aging_changed(self) -> None:
|
877
882
|
"""Called when spot aging spinbox is changed."""
|
878
883
|
self.agetime = self.clear_spot_olderSpinBox.value()
|
884
|
+
self.cluster_expire.emit(str(self.agetime))
|
879
885
|
|
880
886
|
def showContextMenu(self) -> None:
|
881
887
|
"""doc string for the linter"""
|
not1mm/lib/multicast.py
CHANGED
@@ -31,11 +31,11 @@ class Multicast:
|
|
31
31
|
int(self.multicast_port),
|
32
32
|
QtNetwork.QAbstractSocket.BindFlag.ReuseAddressHint,
|
33
33
|
)
|
34
|
-
logger.
|
34
|
+
logger.warning(f"multicast bind {b_result}")
|
35
35
|
join_result = self.server_udp.joinMulticastGroup(
|
36
36
|
QtNetwork.QHostAddress(self.multicast_group)
|
37
37
|
)
|
38
|
-
logger.
|
38
|
+
logger.warning(f"joinMulticastGroup result {join_result}")
|
39
39
|
|
40
40
|
def has_pending_datagrams(self) -> bool:
|
41
41
|
"""Check if there is a pending datagram"""
|
not1mm/lib/version.py
CHANGED
not1mm/plugins/cq_wpx_rtty.py
CHANGED
@@ -491,7 +491,7 @@ def ft8_handler(the_packet: dict):
|
|
491
491
|
ALTEREGO.contact["Call"] = the_packet.get("CALL", "")
|
492
492
|
ALTEREGO.contact["SNT"] = ALTEREGO.sent.text()
|
493
493
|
ALTEREGO.contact["RCV"] = ALTEREGO.receive.text()
|
494
|
-
ALTEREGO.contact["Exchange1"] = f
|
494
|
+
ALTEREGO.contact["Exchange1"] = f'{the_packet.get("STATE", "")}'.strip()
|
495
495
|
ALTEREGO.contact["ZN"] = the_packet.get("CQZ", "")
|
496
496
|
ALTEREGO.contact["Mode"] = the_packet.get("MODE", "ERR")
|
497
497
|
ALTEREGO.contact["Freq"] = round(float(the_packet.get("FREQ", "0.0")) * 1000, 2)
|
@@ -502,6 +502,6 @@ def ft8_handler(the_packet: dict):
|
|
502
502
|
str(int(float(the_packet.get("FREQ", "0.0")) * 1000000))
|
503
503
|
)
|
504
504
|
logger.debug(f"{ALTEREGO.contact=}")
|
505
|
-
ALTEREGO.other_1.setText(f
|
506
|
-
ALTEREGO.other_2.setText(f
|
505
|
+
ALTEREGO.other_1.setText(f'{the_packet.get("STX", "")}'.strip())
|
506
|
+
ALTEREGO.other_2.setText(f'{the_packet.get("SRX", "")}'.strip())
|
507
507
|
ALTEREGO.save_contact()
|
not1mm/plugins/cq_ww_rtty.py
CHANGED
@@ -477,7 +477,7 @@ def ft8_handler(the_packet: dict):
|
|
477
477
|
ALTEREGO.contact["Call"] = the_packet.get("CALL", "")
|
478
478
|
ALTEREGO.contact["SNT"] = ALTEREGO.sent.text()
|
479
479
|
ALTEREGO.contact["RCV"] = ALTEREGO.receive.text()
|
480
|
-
ALTEREGO.contact["Exchange1"] = f
|
480
|
+
ALTEREGO.contact["Exchange1"] = f'{the_packet.get("STATE", "")}'.strip()
|
481
481
|
ALTEREGO.contact["ZN"] = the_packet.get("CQZ", "")
|
482
482
|
ALTEREGO.contact["Mode"] = the_packet.get("MODE", "ERR")
|
483
483
|
ALTEREGO.contact["Freq"] = round(float(the_packet.get("FREQ", "0.0")) * 1000, 2)
|
@@ -489,5 +489,5 @@ def ft8_handler(the_packet: dict):
|
|
489
489
|
)
|
490
490
|
logger.debug(f"{ALTEREGO.contact=}")
|
491
491
|
ALTEREGO.other_1.setText(str(the_packet.get("CQZ", "ERR")))
|
492
|
-
ALTEREGO.other_2.setText(f
|
492
|
+
ALTEREGO.other_2.setText(f'{the_packet.get("STATE", "")}'.strip())
|
493
493
|
ALTEREGO.save_contact()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: not1mm
|
3
|
-
Version: 24.10.
|
3
|
+
Version: 24.10.6
|
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
|
@@ -219,6 +219,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
|
|
219
219
|
|
220
220
|
## Recent Changes
|
221
221
|
|
222
|
+
- [24-10-6] Removed 60, 30, 17 and 12M from the default list of bands.
|
223
|
+
- [24-10-5-1] Store the bandmap spots age timer in the preferences.
|
222
224
|
- [24-10-5] Force reselction of contest after different DB opened.
|
223
225
|
- [24-10-2] Add WPX RTTY.
|
224
226
|
- [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.
|
@@ -566,7 +568,7 @@ onscreen icon for CAT status. Green good, Red bad, Grey neither.
|
|
566
568
|
### CW Keyer interface
|
567
569
|
|
568
570
|
Under the `CW` TAB, There are three options. `cwdaemon`, which normally uses IP
|
569
|
-
`127.0.0.1`
|
571
|
+
`127.0.0.1`port `6789`. `pywinkeyer` which normally uses IP `127.0.0.1` port `8000` and
|
570
572
|
`CAT` which if your radio supports it, sends Morse characters via rigctld. As far
|
571
573
|
as I can tell rigctld does not support setting the radios internal keyer speed. So
|
572
574
|
the CW speed control widget will not be functional and you'd need to control the
|
@@ -1,6 +1,6 @@
|
|
1
1
|
not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
not1mm/__main__.py,sha256=
|
3
|
-
not1mm/bandmap.py,sha256=
|
2
|
+
not1mm/__main__.py,sha256=jShyKC6PnUdyT9htancQg_m5j1KlFnKmPdjmNV_he60,131520
|
3
|
+
not1mm/bandmap.py,sha256=P91rYGmd8r5K6TRNZt7kqqW6zCBVlFA1_n9-V7as1WE,31672
|
4
4
|
not1mm/checkwindow.py,sha256=aI-nr8OF90IWV7R_XRdmitvBJ9M85evCs72HoU3Jnvc,10374
|
5
5
|
not1mm/fsutils.py,sha256=ukHKxKTeNKxKwqRaJjtzRShL4X5Xl0jRBbADyy3Ifp8,1701
|
6
6
|
not1mm/logwindow.py,sha256=pwhiwolmGnW01LF4sjlu3ywLsgfxL6KuGuKuYKYmgeY,44403
|
@@ -106,7 +106,7 @@ not1mm/lib/fldigi_watcher.py,sha256=reZz3fZLDoJVVZhJD9nIssk2aczCzadDSQTVu-5mTCM,
|
|
106
106
|
not1mm/lib/ft8_watcher.py,sha256=BFmVIsnbwuRMWoe-dIBybuCgi0WFmr8Km0O9l4eiwMM,4624
|
107
107
|
not1mm/lib/ham_utility.py,sha256=WMmYLDI_fJHHsn0wkpGVit2Hv8fo6r9ybexXROia8Cg,11967
|
108
108
|
not1mm/lib/lookup.py,sha256=_Awt1HjiuSrhLTrwoF8EoFQC_bYYH1vqfAo_HSaMb00,10838
|
109
|
-
not1mm/lib/multicast.py,sha256=
|
109
|
+
not1mm/lib/multicast.py,sha256=KJcruI-bOuHfHXPjl3SGQhL6I9sKrygy-sdFSvxffUM,3255
|
110
110
|
not1mm/lib/n1mm.py,sha256=H54mpgJF0GAmKavM-nb5OAq2SJFWYkux4eMWWiSRxJc,6288
|
111
111
|
not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
|
112
112
|
not1mm/lib/playsound.py,sha256=kxkcitBFbZCXJ2wxQ1lxg4rBwfxiSpuNpJSXHOPCoXA,9241
|
@@ -114,7 +114,7 @@ not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9
|
|
114
114
|
not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
|
115
115
|
not1mm/lib/settings.py,sha256=0Su8BQM4haVhc_P74q8UhzRZxtgWhM40UmVtQdMJQeM,10022
|
116
116
|
not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
|
117
|
-
not1mm/lib/version.py,sha256
|
117
|
+
not1mm/lib/version.py,sha256=-VK621TV7vjdeRUalV4nYjao7hyeK_a1xlqZJIMqY7A,48
|
118
118
|
not1mm/lib/versiontest.py,sha256=8vDNptuBBunn-1IGkjNaquehqBYUJyjrPSF8Igmd4_Y,1286
|
119
119
|
not1mm/plugins/10_10_fall_cw.py,sha256=IttjX1yy4nDdACGsiYlPteFG8eVseX_WtoFio6bqHE8,10953
|
120
120
|
not1mm/plugins/10_10_spring_cw.py,sha256=ThCptdM3dX4ywhoy2JRcOEyHSqcJolFaT7O_PYzM1Mg,10958
|
@@ -135,10 +135,10 @@ not1mm/plugins/canada_day.py,sha256=OVpcCl1Chse_zLHf6PayTrgawWM4W-pmrTw40Al-o9s,
|
|
135
135
|
not1mm/plugins/cq_160_cw.py,sha256=5s6rIZdJEnmWe1SI06BEyz7p5vP0N2n9mI4l_mZ0icw,14139
|
136
136
|
not1mm/plugins/cq_160_ssb.py,sha256=zIwSMAjHSt6W2edrDzVbyTf860JowHoFkU9BKO8Enag,14182
|
137
137
|
not1mm/plugins/cq_wpx_cw.py,sha256=9aNzAR-KhznIwUlxUFjAi_hbiw_6RrCMwUBk9I2f6Hs,14037
|
138
|
-
not1mm/plugins/cq_wpx_rtty.py,sha256=
|
138
|
+
not1mm/plugins/cq_wpx_rtty.py,sha256=PpU_PxjQGeMjzbofYNsl-No37s7IgkPyW2bKFRkN9jU,16473
|
139
139
|
not1mm/plugins/cq_wpx_ssb.py,sha256=-hGRovqHR9rfOUnG4LPOoABTb4heH8VAX6rYdJbCqsw,12687
|
140
140
|
not1mm/plugins/cq_ww_cw.py,sha256=m4Xkqb_qFyXWEgkxqbanvtiCTvI8NNPKNXzHgFZzhnE,12340
|
141
|
-
not1mm/plugins/cq_ww_rtty.py,sha256=
|
141
|
+
not1mm/plugins/cq_ww_rtty.py,sha256=WnqSfCNX6ieLZlUg_P_vx-Z2iY0lxdwEgPuT9aax1JU,16772
|
142
142
|
not1mm/plugins/cq_ww_ssb.py,sha256=hZwG88-hPLmwIGXHX_S_ty8Nhn1kIuPjSuTRpCWoN9g,12631
|
143
143
|
not1mm/plugins/cwt.py,sha256=KvvkEfQrYSra0y8qE4yThvZNLrZcslt0IqYEomDpf-M,12774
|
144
144
|
not1mm/plugins/general_logging.py,sha256=n-2es7erqK1ptwq_wwIKIwktptKN7ra2eWjAQlpXUac,3479
|
@@ -157,9 +157,10 @@ not1mm/plugins/ref_cw.py,sha256=aWjHHkqIKutjRUtzh09y5haFfnZK9poRQDWRQMDRxxU,1632
|
|
157
157
|
not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
|
158
158
|
not1mm/plugins/weekly_rtty.py,sha256=DQcy3SY0Zn56EdlYGf3NxrRhTnkNa5IqRQPRQdKDSPs,14255
|
159
159
|
not1mm/plugins/winter_field_day.py,sha256=4rcfRtobwjHO6BNL3WOTHzBmyyeuX79BNGBG8PfjrI8,10238
|
160
|
-
|
161
|
-
not1mm-24.10.
|
162
|
-
not1mm-24.10.
|
163
|
-
not1mm-24.10.
|
164
|
-
not1mm-24.10.
|
165
|
-
not1mm-24.10.
|
160
|
+
test/contests.py,sha256=bPJZz0zC_d_lpkc9_-Llct628DZIL5kI7m2QIVhAcVM,17498
|
161
|
+
not1mm-24.10.6.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
162
|
+
not1mm-24.10.6.dist-info/METADATA,sha256=7tWxHcNmpDHMgBdupY6ZsugM5vCFGFezsnFJveseiKE,30738
|
163
|
+
not1mm-24.10.6.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
164
|
+
not1mm-24.10.6.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
|
165
|
+
not1mm-24.10.6.dist-info/top_level.txt,sha256=b4JoTnuFyh8DwxYUjTpCWpKI9Yi1tKwwvCjSYiNY4G8,12
|
166
|
+
not1mm-24.10.6.dist-info/RECORD,,
|
test/contests.py
ADDED
@@ -0,0 +1,591 @@
|
|
1
|
+
import pytest
|
2
|
+
import os
|
3
|
+
|
4
|
+
from PyQt6 import QtCore, QtWidgets
|
5
|
+
|
6
|
+
import not1mm.__main__ as not1mm
|
7
|
+
import not1mm.fsutils as fsutils
|
8
|
+
|
9
|
+
WAIT_TIME = 10
|
10
|
+
|
11
|
+
# Entry options:
|
12
|
+
# callsign
|
13
|
+
# sent (field1)
|
14
|
+
# receive (field2)
|
15
|
+
# other_1 (field3)
|
16
|
+
# other_2 (field4)
|
17
|
+
|
18
|
+
CONTEST_DATA = {
|
19
|
+
"General Logging": [
|
20
|
+
{
|
21
|
+
"callsign": "KF0NRV",
|
22
|
+
"sent": "599",
|
23
|
+
"receive": "599",
|
24
|
+
"other_1": "dan",
|
25
|
+
"other_2": "cool dude",
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"callsign": "KF0NRV",
|
29
|
+
"sent": "599",
|
30
|
+
"receive": "599",
|
31
|
+
"other_1": "dan",
|
32
|
+
"other_2": "cool dude",
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"callsign": "K6GTE",
|
36
|
+
"sent": "599",
|
37
|
+
"receive": "599",
|
38
|
+
"other_1": "mike",
|
39
|
+
"other_2": "cool dude",
|
40
|
+
},
|
41
|
+
],
|
42
|
+
"10 10 FALL CW": [
|
43
|
+
{
|
44
|
+
"callsign": "KF0NRV",
|
45
|
+
"sent": "599",
|
46
|
+
"receive": "599",
|
47
|
+
"other_2": "dan 1234 ia",
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"callsign": "KF0NRV",
|
51
|
+
"sent": "599",
|
52
|
+
"receive": "599",
|
53
|
+
"other_2": "dan 1234 ia",
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"callsign": "K6GTE",
|
57
|
+
"sent": "599",
|
58
|
+
"receive": "599",
|
59
|
+
"other_2": "mike 1234 ca",
|
60
|
+
},
|
61
|
+
],
|
62
|
+
"10 10 SPRING CW": [
|
63
|
+
{
|
64
|
+
"callsign": "KF0NRV",
|
65
|
+
"sent": "599",
|
66
|
+
"receive": "599",
|
67
|
+
"other_2": "dan 1234 ia",
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"callsign": "KF0NRV",
|
71
|
+
"sent": "599",
|
72
|
+
"receive": "599",
|
73
|
+
"other_2": "dan 1234 ia",
|
74
|
+
},
|
75
|
+
{
|
76
|
+
"callsign": "K6GTE",
|
77
|
+
"sent": "599",
|
78
|
+
"receive": "599",
|
79
|
+
"other_2": "mike 1234 ca",
|
80
|
+
},
|
81
|
+
],
|
82
|
+
"10 10 SUMMER PHONE": [
|
83
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "dan 1234 ia"},
|
84
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "dan 1234 ia"},
|
85
|
+
{"callsign": "K6GTE", "sent": "59", "receive": "59", "other_2": "mike 1234 ca"},
|
86
|
+
],
|
87
|
+
"10 10 WINTER PHONE": [
|
88
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "dan 1234 ia"},
|
89
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "dan 1234 ia"},
|
90
|
+
{"callsign": "K6GTE", "sent": "59", "receive": "59", "other_2": "mike 1234 ca"},
|
91
|
+
],
|
92
|
+
"ARRL 10M": [
|
93
|
+
{
|
94
|
+
"callsign": "KF0NRV",
|
95
|
+
"sent": "599",
|
96
|
+
"receive": "599",
|
97
|
+
"other_1": "1234",
|
98
|
+
"other_2": "ia",
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"callsign": "KF0NRV",
|
102
|
+
"sent": "599",
|
103
|
+
"receive": "599",
|
104
|
+
"other_1": "1234",
|
105
|
+
"other_2": "ia",
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"callsign": "K6GTE",
|
109
|
+
"sent": "599",
|
110
|
+
"receive": "599",
|
111
|
+
"other_1": "2345",
|
112
|
+
"other_2": "ca",
|
113
|
+
},
|
114
|
+
],
|
115
|
+
"ARRL DX CW": [
|
116
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "100W"},
|
117
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "100W"},
|
118
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_2": "100W"},
|
119
|
+
],
|
120
|
+
"ARRL DX SSB": [
|
121
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "100W"},
|
122
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "100W"},
|
123
|
+
{"callsign": "K6GTE", "sent": "59", "receive": "59", "other_2": "100W"},
|
124
|
+
],
|
125
|
+
"ARRL FIELD DAY": [
|
126
|
+
{"callsign": "KF0NRV", "other_1": "1", "other_2": "a"},
|
127
|
+
{"callsign": "KF0NRV", "other_1": "1", "other_2": "a"},
|
128
|
+
{"callsign": "K6GTE", "other_1": "1", "other_2": "a"},
|
129
|
+
],
|
130
|
+
"ARRL SS CW": [
|
131
|
+
{
|
132
|
+
"callsign": "KF0NRV",
|
133
|
+
"sent": "599",
|
134
|
+
"receive": "599",
|
135
|
+
"other_1": "1",
|
136
|
+
"other_2": "27",
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"callsign": "KF0NRV",
|
140
|
+
"sent": "599",
|
141
|
+
"receive": "599",
|
142
|
+
"other_1": "2",
|
143
|
+
"other_2": "42",
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"callsign": "K6GTE",
|
147
|
+
"sent": "599",
|
148
|
+
"receive": "599",
|
149
|
+
"other_1": "3",
|
150
|
+
"other_2": "100",
|
151
|
+
},
|
152
|
+
],
|
153
|
+
"ARRL SS PHONE": [
|
154
|
+
{
|
155
|
+
"callsign": "KF0NRV",
|
156
|
+
"sent": "59",
|
157
|
+
"receive": "59",
|
158
|
+
"other_1": "1",
|
159
|
+
"other_2": "27",
|
160
|
+
},
|
161
|
+
{
|
162
|
+
"callsign": "KF0NRV",
|
163
|
+
"sent": "59",
|
164
|
+
"receive": "59",
|
165
|
+
"other_1": "2",
|
166
|
+
"other_2": "42",
|
167
|
+
},
|
168
|
+
{
|
169
|
+
"callsign": "K6GTE",
|
170
|
+
"sent": "59",
|
171
|
+
"receive": "59",
|
172
|
+
"other_1": "3",
|
173
|
+
"other_2": "100",
|
174
|
+
},
|
175
|
+
],
|
176
|
+
"ARRL VHF JAN": [
|
177
|
+
{
|
178
|
+
"callsign": "KF0NRV",
|
179
|
+
"sent": "599",
|
180
|
+
"receive": "599",
|
181
|
+
"other_1": "1234",
|
182
|
+
"other_2": "BB22AA",
|
183
|
+
},
|
184
|
+
{
|
185
|
+
"callsign": "KF0NRV",
|
186
|
+
"sent": "599",
|
187
|
+
"receive": "599",
|
188
|
+
"other_1": "1234",
|
189
|
+
"other_2": "BB22AA",
|
190
|
+
},
|
191
|
+
{
|
192
|
+
"callsign": "K6GTE",
|
193
|
+
"sent": "599",
|
194
|
+
"receive": "599",
|
195
|
+
"other_1": "2345",
|
196
|
+
"other_2": "AA11bb",
|
197
|
+
},
|
198
|
+
],
|
199
|
+
"ARRL VHF JUN": [
|
200
|
+
{
|
201
|
+
"callsign": "KF0NRV",
|
202
|
+
"sent": "599",
|
203
|
+
"receive": "599",
|
204
|
+
"other_1": "1234",
|
205
|
+
"other_2": "BB22AA",
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"callsign": "KF0NRV",
|
209
|
+
"sent": "599",
|
210
|
+
"receive": "599",
|
211
|
+
"other_1": "1234",
|
212
|
+
"other_2": "BB22AA",
|
213
|
+
},
|
214
|
+
{
|
215
|
+
"callsign": "K6GTE",
|
216
|
+
"sent": "599",
|
217
|
+
"receive": "599",
|
218
|
+
"other_1": "2345",
|
219
|
+
"other_2": "AA11bb",
|
220
|
+
},
|
221
|
+
],
|
222
|
+
"ARRL VHF SEP": [
|
223
|
+
{
|
224
|
+
"callsign": "KF0NRV",
|
225
|
+
"sent": "599",
|
226
|
+
"receive": "599",
|
227
|
+
"other_1": "1234",
|
228
|
+
"other_2": "BB22AA",
|
229
|
+
},
|
230
|
+
{
|
231
|
+
"callsign": "KF0NRV",
|
232
|
+
"sent": "599",
|
233
|
+
"receive": "599",
|
234
|
+
"other_1": "1234",
|
235
|
+
"other_2": "BB22AA",
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"callsign": "K6GTE",
|
239
|
+
"sent": "599",
|
240
|
+
"receive": "599",
|
241
|
+
"other_1": "2345",
|
242
|
+
"other_2": "AA11bb",
|
243
|
+
},
|
244
|
+
],
|
245
|
+
"CANADA DAY": [
|
246
|
+
{
|
247
|
+
"callsign": "KF0NRV",
|
248
|
+
"sent": "599",
|
249
|
+
"receive": "599",
|
250
|
+
"other_1": "1",
|
251
|
+
"other_2": "ia",
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"callsign": "KF0NRV",
|
255
|
+
"sent": "599",
|
256
|
+
"receive": "599",
|
257
|
+
"other_1": "2",
|
258
|
+
"other_2": "ia",
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"callsign": "K6GTE",
|
262
|
+
"sent": "599",
|
263
|
+
"receive": "599",
|
264
|
+
"other_1": "3",
|
265
|
+
"other_2": "ca",
|
266
|
+
},
|
267
|
+
],
|
268
|
+
"CQ 160 CW": [
|
269
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "ia"},
|
270
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "ia"},
|
271
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_2": "ca"},
|
272
|
+
],
|
273
|
+
"CQ 160 SSB": [
|
274
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "ia"},
|
275
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "ia"},
|
276
|
+
{"callsign": "K6GTE", "sent": "59", "receive": "59", "other_2": "ca"},
|
277
|
+
],
|
278
|
+
"CQ WPX CW": [
|
279
|
+
{
|
280
|
+
"callsign": "KF0NRV",
|
281
|
+
"sent": "599",
|
282
|
+
"receive": "599",
|
283
|
+
"other_1": "1",
|
284
|
+
"other_2": "3",
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"callsign": "KF0NRV",
|
288
|
+
"sent": "599",
|
289
|
+
"receive": "599",
|
290
|
+
"other_1": "2",
|
291
|
+
"other_2": "2",
|
292
|
+
},
|
293
|
+
{
|
294
|
+
"callsign": "K6GTE",
|
295
|
+
"sent": "599",
|
296
|
+
"receive": "599",
|
297
|
+
"other_1": "3",
|
298
|
+
"other_2": "1",
|
299
|
+
},
|
300
|
+
],
|
301
|
+
"CQ WPX SSB": [
|
302
|
+
{
|
303
|
+
"callsign": "KF0NRV",
|
304
|
+
"sent": "59",
|
305
|
+
"receive": "59",
|
306
|
+
"other_1": "1",
|
307
|
+
"other_2": "3",
|
308
|
+
},
|
309
|
+
{
|
310
|
+
"callsign": "KF0NRV",
|
311
|
+
"sent": "59",
|
312
|
+
"receive": "59",
|
313
|
+
"other_1": "2",
|
314
|
+
"other_2": "2",
|
315
|
+
},
|
316
|
+
{
|
317
|
+
"callsign": "K6GTE",
|
318
|
+
"sent": "59",
|
319
|
+
"receive": "59",
|
320
|
+
"other_1": "3",
|
321
|
+
"other_2": "1",
|
322
|
+
},
|
323
|
+
],
|
324
|
+
"CQ WW CW": [
|
325
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "4"},
|
326
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "4"},
|
327
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_2": "3"},
|
328
|
+
],
|
329
|
+
"CQ WW RTTY": [
|
330
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "4"},
|
331
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "4"},
|
332
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_2": "3"},
|
333
|
+
],
|
334
|
+
"CQ WW SSB": [
|
335
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "4"},
|
336
|
+
{"callsign": "KF0NRV", "sent": "59", "receive": "59", "other_2": "4"},
|
337
|
+
{"callsign": "K6GTE", "sent": "59", "receive": "59", "other_2": "3"},
|
338
|
+
],
|
339
|
+
"CWT": [
|
340
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
341
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
342
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
343
|
+
],
|
344
|
+
"HELVETIA": [
|
345
|
+
{
|
346
|
+
"callsign": "KF0NRV",
|
347
|
+
"sent": "599",
|
348
|
+
"receive": "599",
|
349
|
+
"other_1": "1",
|
350
|
+
"other_2": "3",
|
351
|
+
},
|
352
|
+
{
|
353
|
+
"callsign": "KF0NRV",
|
354
|
+
"sent": "599",
|
355
|
+
"receive": "599",
|
356
|
+
"other_1": "2",
|
357
|
+
"other_2": "2",
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"callsign": "K6GTE",
|
361
|
+
"sent": "599",
|
362
|
+
"receive": "599",
|
363
|
+
"other_1": "3",
|
364
|
+
"other_2": "1",
|
365
|
+
},
|
366
|
+
],
|
367
|
+
"ICWC MST": [
|
368
|
+
{"callsign": "KF0NRV", "sent": "1", "other_1": "dan", "other_2": "1"},
|
369
|
+
{"callsign": "KF0NRV", "sent": "2", "other_1": "dan", "other_2": "2"},
|
370
|
+
{"callsign": "K6GTE", "sent": "3", "other_1": "mike", "other_2": "3"},
|
371
|
+
],
|
372
|
+
"IARU FIELDDAY R1 CW": [
|
373
|
+
{
|
374
|
+
"callsign": "KF0NRV",
|
375
|
+
"sent": "599",
|
376
|
+
"receive": "599",
|
377
|
+
"other_1": "1",
|
378
|
+
"other_2": "1",
|
379
|
+
},
|
380
|
+
{
|
381
|
+
"callsign": "KF0NRV",
|
382
|
+
"sent": "599",
|
383
|
+
"receive": "599",
|
384
|
+
"other_1": "2",
|
385
|
+
"other_2": "2",
|
386
|
+
},
|
387
|
+
{
|
388
|
+
"callsign": "K6GTE",
|
389
|
+
"sent": "599",
|
390
|
+
"receive": "599",
|
391
|
+
"other_1": "3",
|
392
|
+
"other_2": "3",
|
393
|
+
},
|
394
|
+
],
|
395
|
+
"IARU FIELDDAY R1 SSB": [
|
396
|
+
{
|
397
|
+
"callsign": "KF0NRV",
|
398
|
+
"sent": "59",
|
399
|
+
"receive": "59",
|
400
|
+
"other_1": "1",
|
401
|
+
"other_2": "1",
|
402
|
+
},
|
403
|
+
{
|
404
|
+
"callsign": "KF0NRV",
|
405
|
+
"sent": "59",
|
406
|
+
"receive": "59",
|
407
|
+
"other_1": "2",
|
408
|
+
"other_2": "2",
|
409
|
+
},
|
410
|
+
{
|
411
|
+
"callsign": "K6GTE",
|
412
|
+
"sent": "59",
|
413
|
+
"receive": "59",
|
414
|
+
"other_1": "3",
|
415
|
+
"other_2": "3",
|
416
|
+
},
|
417
|
+
],
|
418
|
+
"IARU HF": [
|
419
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "7"},
|
420
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_2": "7"},
|
421
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_2": "6"},
|
422
|
+
],
|
423
|
+
"JIDX CW": [
|
424
|
+
{
|
425
|
+
"callsign": "KF0NRV",
|
426
|
+
"sent": "599",
|
427
|
+
"receive": "599",
|
428
|
+
"other_1": "1",
|
429
|
+
"other_2": "1",
|
430
|
+
},
|
431
|
+
{
|
432
|
+
"callsign": "KF0NRV",
|
433
|
+
"sent": "599",
|
434
|
+
"receive": "599",
|
435
|
+
"other_1": "2",
|
436
|
+
"other_2": "2",
|
437
|
+
},
|
438
|
+
{
|
439
|
+
"callsign": "K6GTE",
|
440
|
+
"sent": "599",
|
441
|
+
"receive": "599",
|
442
|
+
"other_1": "3",
|
443
|
+
"other_2": "3",
|
444
|
+
},
|
445
|
+
],
|
446
|
+
"JIDX PH": [
|
447
|
+
{
|
448
|
+
"callsign": "KF0NRV",
|
449
|
+
"sent": "59",
|
450
|
+
"receive": "59",
|
451
|
+
"other_1": "1",
|
452
|
+
"other_2": "1",
|
453
|
+
},
|
454
|
+
{
|
455
|
+
"callsign": "KF0NRV",
|
456
|
+
"sent": "59",
|
457
|
+
"receive": "59",
|
458
|
+
"other_1": "2",
|
459
|
+
"other_2": "2",
|
460
|
+
},
|
461
|
+
{
|
462
|
+
"callsign": "K6GTE",
|
463
|
+
"sent": "59",
|
464
|
+
"receive": "59",
|
465
|
+
"other_1": "3",
|
466
|
+
"other_2": "3",
|
467
|
+
},
|
468
|
+
],
|
469
|
+
"K1USN SST": [
|
470
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
471
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
472
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
473
|
+
],
|
474
|
+
"NAQP CW": [
|
475
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
476
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
477
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
478
|
+
],
|
479
|
+
"NAQP SSB": [
|
480
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
481
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
482
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
483
|
+
],
|
484
|
+
"PHONE WEEKLY TEST": [
|
485
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
486
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
487
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
488
|
+
],
|
489
|
+
"STEW PERRY TOPBAND": [
|
490
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_1": "BB22AA"},
|
491
|
+
{"callsign": "KF0NRV", "sent": "599", "receive": "599", "other_1": "BB22AA"},
|
492
|
+
{"callsign": "K6GTE", "sent": "599", "receive": "599", "other_1": "AA11bb"},
|
493
|
+
],
|
494
|
+
"WEEKLY RTTY": [
|
495
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
496
|
+
{"callsign": "KF0NRV", "other_1": "dan", "other_2": "ia"},
|
497
|
+
{"callsign": "K6GTE", "other_1": "mike", "other_2": "ca"},
|
498
|
+
],
|
499
|
+
"WINTER FIELD DAY": [
|
500
|
+
{"callsign": "KF0NRV", "other_1": "1", "other_2": "a"},
|
501
|
+
{"callsign": "KF0NRV", "other_1": "1", "other_2": "a"},
|
502
|
+
{"callsign": "K6GTE", "other_1": "1", "other_2": "a"},
|
503
|
+
],
|
504
|
+
}
|
505
|
+
|
506
|
+
|
507
|
+
@pytest.fixture
|
508
|
+
def app(qtbot):
|
509
|
+
# Qbot setup
|
510
|
+
not1mm_app = not1mm.MainWindow(not1mm.splash)
|
511
|
+
not1mm_app.show()
|
512
|
+
qtbot.addWidget(not1mm_app)
|
513
|
+
|
514
|
+
# Stub out filepicker and create a new database
|
515
|
+
if os.path.exists(fsutils.USER_DATA_PATH / "contest_testing.db"):
|
516
|
+
os.remove(fsutils.USER_DATA_PATH / "contest_testing.db")
|
517
|
+
not1mm_app.filepicker = lambda x: "contest_testing.db"
|
518
|
+
not1mm_app.actionNew_Database.trigger()
|
519
|
+
|
520
|
+
# Enter initial setings as default
|
521
|
+
settings_dialog = not1mm_app.settings_dialog
|
522
|
+
settings_dialog.Call.setText("K5TUX")
|
523
|
+
settings_dialog.ITUZone.setText("7")
|
524
|
+
settings_dialog.CQZone.setText("4")
|
525
|
+
settings_dialog.Country.setText("United States")
|
526
|
+
settings_dialog.GridSquare.setText("EM37bb")
|
527
|
+
settings_dialog.Latitude.setText("37.0625")
|
528
|
+
settings_dialog.Longitude.setText("-93.875")
|
529
|
+
|
530
|
+
qtbot.keyClick(
|
531
|
+
settings_dialog,
|
532
|
+
QtCore.Qt.Key.Key_Tab,
|
533
|
+
modifier=QtCore.Qt.KeyboardModifier.ShiftModifier,
|
534
|
+
delay=WAIT_TIME,
|
535
|
+
)
|
536
|
+
qtbot.keyClick(settings_dialog, QtCore.Qt.Key.Key_Return)
|
537
|
+
|
538
|
+
# Enter initial contest as default
|
539
|
+
contest_dialog = not1mm_app.contest_dialog
|
540
|
+
qtbot.keyClick(
|
541
|
+
contest_dialog,
|
542
|
+
QtCore.Qt.Key.Key_Tab,
|
543
|
+
modifier=QtCore.Qt.KeyboardModifier.ShiftModifier,
|
544
|
+
delay=WAIT_TIME,
|
545
|
+
)
|
546
|
+
qtbot.keyClick(contest_dialog, QtCore.Qt.Key.Key_Return)
|
547
|
+
yield not1mm_app
|
548
|
+
# Cleanup
|
549
|
+
if os.path.exists(fsutils.USER_DATA_PATH / "contest_testing.db"):
|
550
|
+
os.remove(fsutils.USER_DATA_PATH / "contest_testing.db")
|
551
|
+
|
552
|
+
|
553
|
+
def test_contests(app, qtbot):
|
554
|
+
# Each contest has an initial log, a duplicate log, and a unique log
|
555
|
+
|
556
|
+
for contest in CONTEST_DATA:
|
557
|
+
app.actionNew_Contest.trigger()
|
558
|
+
|
559
|
+
contest_dialog = app.contest_dialog
|
560
|
+
contest_dialog.contest.setCurrentText(contest)
|
561
|
+
qtbot.keyClick(
|
562
|
+
contest_dialog,
|
563
|
+
QtCore.Qt.Key.Key_Tab,
|
564
|
+
modifier=QtCore.Qt.KeyboardModifier.ShiftModifier,
|
565
|
+
delay=WAIT_TIME,
|
566
|
+
)
|
567
|
+
qtbot.keyClick(contest_dialog, QtCore.Qt.Key.Key_Return)
|
568
|
+
|
569
|
+
# Enter each field and tab keystroke to exercise plugin hooks
|
570
|
+
for entry in CONTEST_DATA[contest]:
|
571
|
+
if "callsign" in entry:
|
572
|
+
app.callsign.setText(entry["callsign"])
|
573
|
+
qtbot.keyClick(app, QtCore.Qt.Key.Key_Tab, delay=WAIT_TIME)
|
574
|
+
|
575
|
+
if "sent" in entry:
|
576
|
+
app.sent.setText(entry["sent"])
|
577
|
+
qtbot.keyClick(app, QtCore.Qt.Key.Key_Tab, delay=WAIT_TIME)
|
578
|
+
|
579
|
+
if "receive" in entry:
|
580
|
+
app.receive.setText(entry["receive"])
|
581
|
+
qtbot.keyClick(app, QtCore.Qt.Key.Key_Tab, delay=WAIT_TIME)
|
582
|
+
|
583
|
+
if "other_1" in entry:
|
584
|
+
app.other_1.setText(entry["other_1"])
|
585
|
+
qtbot.keyClick(app, QtCore.Qt.Key.Key_Tab, delay=WAIT_TIME)
|
586
|
+
|
587
|
+
if "other_2" in entry:
|
588
|
+
app.other_2.setText(entry["other_2"])
|
589
|
+
|
590
|
+
qtbot.wait(WAIT_TIME)
|
591
|
+
qtbot.keyClick(app.callsign, QtCore.Qt.Key.Key_Return)
|
File without changes
|
File without changes
|
File without changes
|