not1mm 24.10.11__py3-none-any.whl → 24.10.14__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 CHANGED
@@ -199,6 +199,13 @@ class MainWindow(QtWidgets.QMainWindow):
199
199
  self.setCorner(Qt.Corner.BottomLeftCorner, Qt.DockWidgetArea.LeftDockWidgetArea)
200
200
  uic.loadUi(fsutils.APP_DATA_PATH / "main.ui", self)
201
201
  QApplication.instance().focusObjectChanged.connect(self.on_focus_changed)
202
+ self.inputs_dict = {
203
+ self.callsign: "callsign",
204
+ self.sent: "sent",
205
+ self.receive: "receive",
206
+ self.other_1: "other_1",
207
+ self.other_2: "other_2",
208
+ }
202
209
  self.cw_entry.hide()
203
210
  self.leftdot.hide()
204
211
  self.rightdot.hide()
not1mm/data/cwmacros.txt CHANGED
@@ -1,18 +1,18 @@
1
- S|F1|MyCall|{MYCALL}
2
- S|F2|Exch|{SNT} {SENTNR}
3
- S|F3|My NR|{SENTNR}
1
+ S|F1|CQ|cq test {MYCALL} {MYCALL} test
2
+ S|F2|HisCall|{HISCALL}
3
+ S|F3|Exch|{SNT} {EXCH}
4
4
  S|F4|empty|
5
- S|F5|AGN|agn
5
+ S|F5|MyCall|{MYCALL}
6
6
  S|F6|?|?
7
7
  S|F7|Roger|rr
8
8
  S|F8|73|73
9
- S|F9|..|ee
9
+ S|F9|AGN|agn
10
10
  S|F10|Call?|cl?
11
11
  S|F11|NR??|NR?
12
12
  S|F12|TU|tu
13
13
  R|F1|Run CQ|cq test {MYCALL} {MYCALL} test
14
14
  R|F2|HisCall|{HISCALL}
15
- R|F3|Run Exch|{HISCALL} {SNT} {SENTNR}
15
+ R|F3|Run Exch|{SNT} {EXCH}
16
16
  R|F4|Run TU|tu {MYCALL} qrz
17
17
  R|F5|MyCall|{MYCALL}
18
18
  R|F6|MyNR|{SENTNR}
@@ -1,18 +1,18 @@
1
1
  S|F1|MyCall|{MYCALL}
2
- S|F2|Exch|{SNT} {EXCH}
3
- S|F3|My NR|{SENTNR}
2
+ S|F2|HisCall|{HISCALL}
3
+ S|F3|Exch|{SNT} {EXCH}
4
4
  S|F4|empty|
5
- S|F5|AGN|agn
5
+ S|F5|MyCall|{MYCALL}
6
6
  S|F6|?|?
7
7
  S|F7|Roger|rr
8
8
  S|F8|73|73
9
- S|F9|..|ee
9
+ S|F9|AGN|agn
10
10
  S|F10|Call?|cl?
11
11
  S|F11|NR??|NR?
12
12
  S|F12|TU|tu
13
13
  R|F1|Run CQ|cq test {MYCALL} {MYCALL} test
14
14
  R|F2|HisCall|{HISCALL}
15
- R|F3|Run Exch|{HISCALL} {SNT} {EXCH}
15
+ R|F3|Run Exch|{SNT} {EXCH}
16
16
  R|F4|Run TU|tu {MYCALL} qrz
17
17
  R|F5|MyCall|{MYCALL}
18
18
  R|F6|MyNR|{SENTNR}
@@ -21,4 +21,4 @@ R|F8|Roger|rr
21
21
  R|F9|AGN|agn
22
22
  R|F10|Call?|cl?
23
23
  R|F11|NR?|NR?
24
- R|F12|Ack Call?|{HISCALL} rr tu
24
+ R|F12|Ack Call?|{HISCALL} rr tu
not1mm/lib/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  """It's the version"""
2
2
 
3
- __version__ = "24.10.11"
3
+ __version__ = "24.10.14"
@@ -429,3 +429,104 @@ def recalculate_mults(self):
429
429
  else:
430
430
  contact["IsMultiplier1"] = 0
431
431
  self.database.change_contact(contact)
432
+
433
+
434
+ def process_esm(self, new_focused_widget=None, with_enter=False):
435
+ """ESM State Machine"""
436
+
437
+ # self.pref["run_state"]
438
+
439
+ # -----===== Assigned F-Keys =====-----
440
+ # self.esm_dict["CQ"]
441
+ # self.esm_dict["EXCH"]
442
+ # self.esm_dict["QRZ"]
443
+ # self.esm_dict["AGN"]
444
+ # self.esm_dict["HISCALL"]
445
+ # self.esm_dict["MYCALL"]
446
+ # self.esm_dict["QSOB4"]
447
+
448
+ # ----==== text fields ====----
449
+ # self.callsign
450
+ # self.sent
451
+ # self.receive
452
+ # self.other_1
453
+ # self.other_2
454
+
455
+ if new_focused_widget is not None:
456
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
457
+
458
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
459
+
460
+ for a_button in [
461
+ self.F1,
462
+ self.F2,
463
+ self.F3,
464
+ self.F4,
465
+ self.F5,
466
+ self.F6,
467
+ self.F7,
468
+ self.F8,
469
+ self.F9,
470
+ self.F10,
471
+ self.F11,
472
+ self.F12,
473
+ ]:
474
+ self.restore_button_color(a_button)
475
+
476
+ buttons_to_send = []
477
+
478
+ if self.pref.get("run_state"):
479
+ if self.current_widget == "callsign":
480
+ if len(self.callsign.text()) < 3:
481
+ self.make_button_green(self.esm_dict["CQ"])
482
+ buttons_to_send.append(self.esm_dict["CQ"])
483
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
484
+ self.make_button_green(self.esm_dict["HISCALL"])
485
+ self.make_button_green(self.esm_dict["EXCH"])
486
+ buttons_to_send.append(self.esm_dict["HISCALL"])
487
+ buttons_to_send.append(self.esm_dict["EXCH"])
488
+
489
+ elif self.current_widget == "other_2":
490
+ if self.other_2.text() == "":
491
+ self.make_button_green(self.esm_dict["AGN"])
492
+ buttons_to_send.append(self.esm_dict["AGN"])
493
+ elif self.other_2.text().isnumeric():
494
+ self.make_button_green(self.esm_dict["QRZ"])
495
+ buttons_to_send.append(self.esm_dict["QRZ"])
496
+ buttons_to_send.append("LOGIT")
497
+ else:
498
+ self.make_button_green(self.esm_dict["AGN"])
499
+ buttons_to_send.append(self.esm_dict["AGN"])
500
+
501
+ if with_enter is True and bool(len(buttons_to_send)):
502
+ for button in buttons_to_send:
503
+ if button:
504
+ if button == "LOGIT":
505
+ self.save_contact()
506
+ continue
507
+ self.process_function_key(button)
508
+ else:
509
+ if self.current_widget == "callsign":
510
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
511
+ self.make_button_green(self.esm_dict["MYCALL"])
512
+ buttons_to_send.append(self.esm_dict["MYCALL"])
513
+
514
+ elif self.current_widget == "other_2":
515
+ if self.other_2.text() == "":
516
+ self.make_button_green(self.esm_dict["AGN"])
517
+ buttons_to_send.append(self.esm_dict["AGN"])
518
+ elif self.other_2.text().isnumeric():
519
+ self.make_button_green(self.esm_dict["EXCH"])
520
+ buttons_to_send.append(self.esm_dict["EXCH"])
521
+ buttons_to_send.append("LOGIT")
522
+ else:
523
+ self.make_button_green(self.esm_dict["AGN"])
524
+ buttons_to_send.append(self.esm_dict["AGN"])
525
+
526
+ if with_enter is True and bool(len(buttons_to_send)):
527
+ for button in buttons_to_send:
528
+ if button:
529
+ if button == "LOGIT":
530
+ self.save_contact()
531
+ continue
532
+ self.process_function_key(button)
@@ -429,6 +429,7 @@ def recalculate_mults(self):
429
429
  contact["IsMultiplier1"] = 0
430
430
  self.database.change_contact(contact)
431
431
 
432
+
432
433
  def set_self(the_outie):
433
434
  """..."""
434
435
  globals()["ALTEREGO"] = the_outie
@@ -505,3 +506,108 @@ def ft8_handler(the_packet: dict):
505
506
  ALTEREGO.other_1.setText(f'{the_packet.get("STX", "")}'.strip())
506
507
  ALTEREGO.other_2.setText(f'{the_packet.get("SRX", "")}'.strip())
507
508
  ALTEREGO.save_contact()
509
+
510
+
511
+ def process_esm(self, new_focused_widget=None, with_enter=False):
512
+ """ESM State Machine"""
513
+
514
+ # self.pref["run_state"]
515
+
516
+ # -----===== Assigned F-Keys =====-----
517
+ # self.esm_dict["CQ"]
518
+ # self.esm_dict["EXCH"]
519
+ # self.esm_dict["QRZ"]
520
+ # self.esm_dict["AGN"]
521
+ # self.esm_dict["HISCALL"]
522
+ # self.esm_dict["MYCALL"]
523
+ # self.esm_dict["QSOB4"]
524
+
525
+ # ----==== text fields ====----
526
+ # self.callsign
527
+ # self.sent
528
+ # self.receive
529
+ # self.other_1
530
+ # self.other_2
531
+
532
+ if new_focused_widget is not None:
533
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
534
+
535
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
536
+
537
+ for a_button in [
538
+ self.F1,
539
+ self.F2,
540
+ self.F3,
541
+ self.F4,
542
+ self.F5,
543
+ self.F6,
544
+ self.F7,
545
+ self.F8,
546
+ self.F9,
547
+ self.F10,
548
+ self.F11,
549
+ self.F12,
550
+ ]:
551
+ self.restore_button_color(a_button)
552
+
553
+ buttons_to_send = []
554
+
555
+ if self.pref.get("run_state"):
556
+ if self.current_widget == "callsign":
557
+ if len(self.callsign.text()) < 3:
558
+ self.make_button_green(self.esm_dict["CQ"])
559
+ buttons_to_send.append(self.esm_dict["CQ"])
560
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
561
+ self.make_button_green(self.esm_dict["HISCALL"])
562
+ self.make_button_green(self.esm_dict["EXCH"])
563
+ buttons_to_send.append(self.esm_dict["HISCALL"])
564
+ buttons_to_send.append(self.esm_dict["EXCH"])
565
+
566
+ elif self.current_widget in ["other_1", "other_2"]:
567
+ if self.other_2.text() == "" or self.other_1.text() == "":
568
+ self.make_button_green(self.esm_dict["AGN"])
569
+ buttons_to_send.append(self.esm_dict["AGN"])
570
+ elif self.other_1.text().isnumeric() and self.other_2.text().isalpha():
571
+ self.make_button_green(self.esm_dict["QRZ"])
572
+ buttons_to_send.append(self.esm_dict["QRZ"])
573
+ buttons_to_send.append("LOGIT")
574
+ else:
575
+ self.make_button_green(self.esm_dict["AGN"])
576
+ buttons_to_send.append(self.esm_dict["AGN"])
577
+
578
+ if with_enter is True and bool(len(buttons_to_send)):
579
+ sendstring = ""
580
+ for button in buttons_to_send:
581
+ if button:
582
+ if button == "LOGIT":
583
+ self.save_contact()
584
+ continue
585
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
586
+ self.fldigi_util.send_string(sendstring)
587
+ else:
588
+ if self.current_widget == "callsign":
589
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
590
+ self.make_button_green(self.esm_dict["MYCALL"])
591
+ buttons_to_send.append(self.esm_dict["MYCALL"])
592
+
593
+ elif self.current_widget in ["other_1", "other_2"]:
594
+ if self.other_2.text() == "" or self.other_1.text() == "":
595
+ self.make_button_green(self.esm_dict["AGN"])
596
+ buttons_to_send.append(self.esm_dict["AGN"])
597
+ elif self.other_1.text().isnumeric() and self.other_2.text().isalpha():
598
+ self.make_button_green(self.esm_dict["EXCH"])
599
+ buttons_to_send.append(self.esm_dict["EXCH"])
600
+ buttons_to_send.append("LOGIT")
601
+ else:
602
+ self.make_button_green(self.esm_dict["AGN"])
603
+ buttons_to_send.append(self.esm_dict["AGN"])
604
+
605
+ if with_enter is True and bool(len(buttons_to_send)):
606
+ sendstring = ""
607
+ for button in buttons_to_send:
608
+ if button:
609
+ if button == "LOGIT":
610
+ self.save_contact()
611
+ continue
612
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
613
+ self.fldigi_util.send_string(sendstring)
@@ -392,3 +392,104 @@ def recalculate_mults(self):
392
392
  else:
393
393
  contact["IsMultiplier1"] = 0
394
394
  self.database.change_contact(contact)
395
+
396
+
397
+ def process_esm(self, new_focused_widget=None, with_enter=False):
398
+ """ESM State Machine"""
399
+
400
+ # self.pref["run_state"]
401
+
402
+ # -----===== Assigned F-Keys =====-----
403
+ # self.esm_dict["CQ"]
404
+ # self.esm_dict["EXCH"]
405
+ # self.esm_dict["QRZ"]
406
+ # self.esm_dict["AGN"]
407
+ # self.esm_dict["HISCALL"]
408
+ # self.esm_dict["MYCALL"]
409
+ # self.esm_dict["QSOB4"]
410
+
411
+ # ----==== text fields ====----
412
+ # self.callsign
413
+ # self.sent
414
+ # self.receive
415
+ # self.other_1
416
+ # self.other_2
417
+
418
+ if new_focused_widget is not None:
419
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
420
+
421
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
422
+
423
+ for a_button in [
424
+ self.F1,
425
+ self.F2,
426
+ self.F3,
427
+ self.F4,
428
+ self.F5,
429
+ self.F6,
430
+ self.F7,
431
+ self.F8,
432
+ self.F9,
433
+ self.F10,
434
+ self.F11,
435
+ self.F12,
436
+ ]:
437
+ self.restore_button_color(a_button)
438
+
439
+ buttons_to_send = []
440
+
441
+ if self.pref.get("run_state"):
442
+ if self.current_widget == "callsign":
443
+ if len(self.callsign.text()) < 3:
444
+ self.make_button_green(self.esm_dict["CQ"])
445
+ buttons_to_send.append(self.esm_dict["CQ"])
446
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
447
+ self.make_button_green(self.esm_dict["HISCALL"])
448
+ self.make_button_green(self.esm_dict["EXCH"])
449
+ buttons_to_send.append(self.esm_dict["HISCALL"])
450
+ buttons_to_send.append(self.esm_dict["EXCH"])
451
+
452
+ elif self.current_widget == "other_2":
453
+ if self.other_2.text() == "":
454
+ self.make_button_green(self.esm_dict["AGN"])
455
+ buttons_to_send.append(self.esm_dict["AGN"])
456
+ elif self.other_2.text().isnumeric():
457
+ self.make_button_green(self.esm_dict["QRZ"])
458
+ buttons_to_send.append(self.esm_dict["QRZ"])
459
+ buttons_to_send.append("LOGIT")
460
+ else:
461
+ self.make_button_green(self.esm_dict["AGN"])
462
+ buttons_to_send.append(self.esm_dict["AGN"])
463
+
464
+ if with_enter is True and bool(len(buttons_to_send)):
465
+ for button in buttons_to_send:
466
+ if button:
467
+ if button == "LOGIT":
468
+ self.save_contact()
469
+ continue
470
+ self.process_function_key(button)
471
+ else:
472
+ if self.current_widget == "callsign":
473
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
474
+ self.make_button_green(self.esm_dict["MYCALL"])
475
+ buttons_to_send.append(self.esm_dict["MYCALL"])
476
+
477
+ elif self.current_widget == "other_2":
478
+ if self.other_2.text() == "":
479
+ self.make_button_green(self.esm_dict["AGN"])
480
+ buttons_to_send.append(self.esm_dict["AGN"])
481
+ elif self.other_2.text().isnumeric():
482
+ self.make_button_green(self.esm_dict["EXCH"])
483
+ buttons_to_send.append(self.esm_dict["EXCH"])
484
+ buttons_to_send.append("LOGIT")
485
+ else:
486
+ self.make_button_green(self.esm_dict["AGN"])
487
+ buttons_to_send.append(self.esm_dict["AGN"])
488
+
489
+ if with_enter is True and bool(len(buttons_to_send)):
490
+ for button in buttons_to_send:
491
+ if button:
492
+ if button == "LOGIT":
493
+ self.save_contact()
494
+ continue
495
+ self.process_function_key(button)
@@ -403,15 +403,8 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
403
403
  # self.other_1
404
404
  # self.other_2
405
405
 
406
- inputs = {
407
- self.callsign: "callsign",
408
- self.sent: "sent",
409
- self.receive: "receive",
410
- self.other_1: "other_1",
411
- self.other_2: "other_2",
412
- }
413
406
  if new_focused_widget is not None:
414
- self.current_widget = inputs.get(new_focused_widget)
407
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
415
408
 
416
409
  # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
417
410
 
@@ -444,7 +437,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
444
437
  buttons_to_send.append(self.esm_dict["HISCALL"])
445
438
  buttons_to_send.append(self.esm_dict["EXCH"])
446
439
 
447
- if self.current_widget == "other_2":
440
+ elif self.current_widget == "other_2":
448
441
  if self.other_2.text() == "":
449
442
  self.make_button_green(self.esm_dict["AGN"])
450
443
  buttons_to_send.append(self.esm_dict["AGN"])
@@ -469,7 +462,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
469
462
  self.make_button_green(self.esm_dict["MYCALL"])
470
463
  buttons_to_send.append(self.esm_dict["MYCALL"])
471
464
 
472
- if self.current_widget == "other_2":
465
+ elif self.current_widget == "other_2":
473
466
  if self.other_2.text() == "":
474
467
  self.make_button_green(self.esm_dict["AGN"])
475
468
  buttons_to_send.append(self.esm_dict["AGN"])
@@ -518,15 +518,8 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
518
518
  # self.other_1
519
519
  # self.other_2
520
520
 
521
- inputs = {
522
- self.callsign: "callsign",
523
- self.sent: "sent",
524
- self.receive: "receive",
525
- self.other_1: "other_1",
526
- self.other_2: "other_2",
527
- }
528
521
  if new_focused_widget is not None:
529
- self.current_widget = inputs.get(new_focused_widget)
522
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
530
523
 
531
524
  # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
532
525
 
@@ -559,7 +552,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
559
552
  buttons_to_send.append(self.esm_dict["HISCALL"])
560
553
  buttons_to_send.append(self.esm_dict["EXCH"])
561
554
 
562
- if self.current_widget in ["other_1", "other_2"]:
555
+ elif self.current_widget in ["other_1", "other_2"]:
563
556
  if self.other_2.text() == "" or self.other_1.text() == "":
564
557
  self.make_button_green(self.esm_dict["AGN"])
565
558
  buttons_to_send.append(self.esm_dict["AGN"])
@@ -579,7 +572,6 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
579
572
  self.save_contact()
580
573
  continue
581
574
  sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
582
- # self.process_function_key(button, rttysendrx=False)
583
575
  self.fldigi_util.send_string(sendstring)
584
576
  else:
585
577
  if self.current_widget == "callsign":
@@ -587,7 +579,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
587
579
  self.make_button_green(self.esm_dict["MYCALL"])
588
580
  buttons_to_send.append(self.esm_dict["MYCALL"])
589
581
 
590
- if self.current_widget in ["other_1", "other_2"]:
582
+ elif self.current_widget in ["other_1", "other_2"]:
591
583
  if self.other_2.text() == "" or self.other_1.text() == "":
592
584
  self.make_button_green(self.esm_dict["AGN"])
593
585
  buttons_to_send.append(self.esm_dict["AGN"])
@@ -607,5 +599,4 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
607
599
  self.save_contact()
608
600
  continue
609
601
  sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
610
- # self.process_function_key(button, rttysendrx=False)
611
602
  self.fldigi_util.send_string(sendstring)
@@ -403,17 +403,8 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
403
403
  # self.other_1
404
404
  # self.other_2
405
405
 
406
- inputs = {
407
- self.callsign: "callsign",
408
- self.sent: "sent",
409
- self.receive: "receive",
410
- self.other_1: "other_1",
411
- self.other_2: "other_2",
412
- }
413
406
  if new_focused_widget is not None:
414
- self.current_widget = inputs.get(new_focused_widget)
415
-
416
- # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
407
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
417
408
 
418
409
  for a_button in [
419
410
  self.F1,
@@ -444,7 +435,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
444
435
  buttons_to_send.append(self.esm_dict["HISCALL"])
445
436
  buttons_to_send.append(self.esm_dict["EXCH"])
446
437
 
447
- if self.current_widget == "other_2":
438
+ elif self.current_widget == "other_2":
448
439
  if self.other_2.text() == "":
449
440
  self.make_button_green(self.esm_dict["AGN"])
450
441
  buttons_to_send.append(self.esm_dict["AGN"])
@@ -469,7 +460,7 @@ def process_esm(self, new_focused_widget=None, with_enter=False):
469
460
  self.make_button_green(self.esm_dict["MYCALL"])
470
461
  buttons_to_send.append(self.esm_dict["MYCALL"])
471
462
 
472
- if self.current_widget == "other_2":
463
+ elif self.current_widget == "other_2":
473
464
  if self.other_2.text() == "":
474
465
  self.make_button_green(self.esm_dict["AGN"])
475
466
  buttons_to_send.append(self.esm_dict["AGN"])
not1mm/plugins/cwt.py CHANGED
@@ -390,3 +390,102 @@ def recalculate_mults(self):
390
390
  else:
391
391
  contact["IsMultiplier1"] = 0
392
392
  self.database.change_contact(contact)
393
+
394
+
395
+ def process_esm(self, new_focused_widget=None, with_enter=False):
396
+ """ESM State Machine"""
397
+
398
+ # self.pref["run_state"]
399
+
400
+ # -----===== Assigned F-Keys =====-----
401
+ # self.esm_dict["CQ"]
402
+ # self.esm_dict["EXCH"]
403
+ # self.esm_dict["QRZ"]
404
+ # self.esm_dict["AGN"]
405
+ # self.esm_dict["HISCALL"]
406
+ # self.esm_dict["MYCALL"]
407
+ # self.esm_dict["QSOB4"]
408
+
409
+ # ----==== text fields ====----
410
+ # self.callsign
411
+ # self.sent
412
+ # self.receive
413
+ # self.other_1
414
+ # self.other_2
415
+
416
+ if new_focused_widget is not None:
417
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
418
+
419
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
420
+
421
+ for a_button in [
422
+ self.F1,
423
+ self.F2,
424
+ self.F3,
425
+ self.F4,
426
+ self.F5,
427
+ self.F6,
428
+ self.F7,
429
+ self.F8,
430
+ self.F9,
431
+ self.F10,
432
+ self.F11,
433
+ self.F12,
434
+ ]:
435
+ self.restore_button_color(a_button)
436
+
437
+ buttons_to_send = []
438
+
439
+ if self.pref.get("run_state"):
440
+ if self.current_widget == "callsign":
441
+ if len(self.callsign.text()) < 3:
442
+ self.make_button_green(self.esm_dict["CQ"])
443
+ buttons_to_send.append(self.esm_dict["CQ"])
444
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
445
+ self.make_button_green(self.esm_dict["HISCALL"])
446
+ self.make_button_green(self.esm_dict["EXCH"])
447
+ buttons_to_send.append(self.esm_dict["HISCALL"])
448
+ buttons_to_send.append(self.esm_dict["EXCH"])
449
+
450
+ elif self.current_widget in ["other_1", "other_2"]:
451
+ if self.other_2.text() == "" or self.other_1.text() == "":
452
+ self.make_button_green(self.esm_dict["AGN"])
453
+ buttons_to_send.append(self.esm_dict["AGN"])
454
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
455
+ self.make_button_green(self.esm_dict["QRZ"])
456
+ buttons_to_send.append(self.esm_dict["QRZ"])
457
+ buttons_to_send.append("LOGIT")
458
+ else:
459
+ self.make_button_green(self.esm_dict["AGN"])
460
+ buttons_to_send.append(self.esm_dict["AGN"])
461
+ if with_enter is True and bool(len(buttons_to_send)):
462
+ for button in buttons_to_send:
463
+ if button:
464
+ if button == "LOGIT":
465
+ self.save_contact()
466
+ continue
467
+ self.process_function_key(button)
468
+ else:
469
+ if self.current_widget == "callsign":
470
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
471
+ self.make_button_green(self.esm_dict["MYCALL"])
472
+ buttons_to_send.append(self.esm_dict["MYCALL"])
473
+
474
+ elif self.current_widget in ["other_1", "other_2"]:
475
+ if self.other_2.text() == "" or self.other_1.text() == "":
476
+ self.make_button_green(self.esm_dict["AGN"])
477
+ buttons_to_send.append(self.esm_dict["AGN"])
478
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
479
+ self.make_button_green(self.esm_dict["EXCH"])
480
+ buttons_to_send.append(self.esm_dict["EXCH"])
481
+ buttons_to_send.append("LOGIT")
482
+ else:
483
+ self.make_button_green(self.esm_dict["AGN"])
484
+ buttons_to_send.append(self.esm_dict["AGN"])
485
+ if with_enter is True and bool(len(buttons_to_send)):
486
+ for button in buttons_to_send:
487
+ if button:
488
+ if button == "LOGIT":
489
+ self.save_contact()
490
+ continue
491
+ self.process_function_key(button)
@@ -365,3 +365,102 @@ def recalculate_mults(self):
365
365
  cmd["cmd"] = "UPDATELOG"
366
366
  cmd["station"] = platform.node()
367
367
  self.multicast_interface.send_as_json(cmd)
368
+
369
+
370
+ def process_esm(self, new_focused_widget=None, with_enter=False):
371
+ """ESM State Machine"""
372
+
373
+ # self.pref["run_state"]
374
+
375
+ # -----===== Assigned F-Keys =====-----
376
+ # self.esm_dict["CQ"]
377
+ # self.esm_dict["EXCH"]
378
+ # self.esm_dict["QRZ"]
379
+ # self.esm_dict["AGN"]
380
+ # self.esm_dict["HISCALL"]
381
+ # self.esm_dict["MYCALL"]
382
+ # self.esm_dict["QSOB4"]
383
+
384
+ # ----==== text fields ====----
385
+ # self.callsign
386
+ # self.sent
387
+ # self.receive
388
+ # self.other_1
389
+ # self.other_2
390
+
391
+ if new_focused_widget is not None:
392
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
393
+
394
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
395
+
396
+ for a_button in [
397
+ self.F1,
398
+ self.F2,
399
+ self.F3,
400
+ self.F4,
401
+ self.F5,
402
+ self.F6,
403
+ self.F7,
404
+ self.F8,
405
+ self.F9,
406
+ self.F10,
407
+ self.F11,
408
+ self.F12,
409
+ ]:
410
+ self.restore_button_color(a_button)
411
+
412
+ buttons_to_send = []
413
+
414
+ if self.pref.get("run_state"):
415
+ if self.current_widget == "callsign":
416
+ if len(self.callsign.text()) < 3:
417
+ self.make_button_green(self.esm_dict["CQ"])
418
+ buttons_to_send.append(self.esm_dict["CQ"])
419
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
420
+ self.make_button_green(self.esm_dict["HISCALL"])
421
+ self.make_button_green(self.esm_dict["EXCH"])
422
+ buttons_to_send.append(self.esm_dict["HISCALL"])
423
+ buttons_to_send.append(self.esm_dict["EXCH"])
424
+
425
+ elif self.current_widget in ["other_1", "other_2"]:
426
+ if self.other_2.text() == "" or self.other_1.text() == "":
427
+ self.make_button_green(self.esm_dict["AGN"])
428
+ buttons_to_send.append(self.esm_dict["AGN"])
429
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
430
+ self.make_button_green(self.esm_dict["QRZ"])
431
+ buttons_to_send.append(self.esm_dict["QRZ"])
432
+ buttons_to_send.append("LOGIT")
433
+ else:
434
+ self.make_button_green(self.esm_dict["AGN"])
435
+ buttons_to_send.append(self.esm_dict["AGN"])
436
+ if with_enter is True and bool(len(buttons_to_send)):
437
+ for button in buttons_to_send:
438
+ if button:
439
+ if button == "LOGIT":
440
+ self.save_contact()
441
+ continue
442
+ self.process_function_key(button)
443
+ else:
444
+ if self.current_widget == "callsign":
445
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
446
+ self.make_button_green(self.esm_dict["MYCALL"])
447
+ buttons_to_send.append(self.esm_dict["MYCALL"])
448
+
449
+ elif self.current_widget in ["other_1", "other_2"]:
450
+ if self.other_2.text() == "" or self.other_1.text() == "":
451
+ self.make_button_green(self.esm_dict["AGN"])
452
+ buttons_to_send.append(self.esm_dict["AGN"])
453
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
454
+ self.make_button_green(self.esm_dict["EXCH"])
455
+ buttons_to_send.append(self.esm_dict["EXCH"])
456
+ buttons_to_send.append("LOGIT")
457
+ else:
458
+ self.make_button_green(self.esm_dict["AGN"])
459
+ buttons_to_send.append(self.esm_dict["AGN"])
460
+ if with_enter is True and bool(len(buttons_to_send)):
461
+ for button in buttons_to_send:
462
+ if button:
463
+ if button == "LOGIT":
464
+ self.save_contact()
465
+ continue
466
+ self.process_function_key(button)
@@ -440,3 +440,108 @@ def ft8_handler(the_packet: dict):
440
440
  ALTEREGO.contact["IsMultiplier1"] = 1
441
441
  logger.debug(f"{ALTEREGO.contact=}")
442
442
  ALTEREGO.save_contact()
443
+
444
+
445
+ def process_esm(self, new_focused_widget=None, with_enter=False):
446
+ """ESM State Machine"""
447
+
448
+ # self.pref["run_state"]
449
+
450
+ # -----===== Assigned F-Keys =====-----
451
+ # self.esm_dict["CQ"]
452
+ # self.esm_dict["EXCH"]
453
+ # self.esm_dict["QRZ"]
454
+ # self.esm_dict["AGN"]
455
+ # self.esm_dict["HISCALL"]
456
+ # self.esm_dict["MYCALL"]
457
+ # self.esm_dict["QSOB4"]
458
+
459
+ # ----==== text fields ====----
460
+ # self.callsign
461
+ # self.sent
462
+ # self.receive
463
+ # self.other_1
464
+ # self.other_2
465
+
466
+ if new_focused_widget is not None:
467
+ self.current_widget = self.inputs_dict.get(new_focused_widget)
468
+
469
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
470
+
471
+ for a_button in [
472
+ self.F1,
473
+ self.F2,
474
+ self.F3,
475
+ self.F4,
476
+ self.F5,
477
+ self.F6,
478
+ self.F7,
479
+ self.F8,
480
+ self.F9,
481
+ self.F10,
482
+ self.F11,
483
+ self.F12,
484
+ ]:
485
+ self.restore_button_color(a_button)
486
+
487
+ buttons_to_send = []
488
+
489
+ if self.pref.get("run_state"):
490
+ if self.current_widget == "callsign":
491
+ if len(self.callsign.text()) < 3:
492
+ self.make_button_green(self.esm_dict["CQ"])
493
+ buttons_to_send.append(self.esm_dict["CQ"])
494
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
495
+ self.make_button_green(self.esm_dict["HISCALL"])
496
+ self.make_button_green(self.esm_dict["EXCH"])
497
+ buttons_to_send.append(self.esm_dict["HISCALL"])
498
+ buttons_to_send.append(self.esm_dict["EXCH"])
499
+
500
+ elif self.current_widget in ["other_1", "other_2"]:
501
+ if self.other_2.text() == "" or self.other_1.text() == "":
502
+ self.make_button_green(self.esm_dict["AGN"])
503
+ buttons_to_send.append(self.esm_dict["AGN"])
504
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
505
+ self.make_button_green(self.esm_dict["QRZ"])
506
+ buttons_to_send.append(self.esm_dict["QRZ"])
507
+ buttons_to_send.append("LOGIT")
508
+ else:
509
+ self.make_button_green(self.esm_dict["AGN"])
510
+ buttons_to_send.append(self.esm_dict["AGN"])
511
+
512
+ if with_enter is True and bool(len(buttons_to_send)):
513
+ sendstring = ""
514
+ for button in buttons_to_send:
515
+ if button:
516
+ if button == "LOGIT":
517
+ self.save_contact()
518
+ continue
519
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
520
+ self.fldigi_util.send_string(sendstring)
521
+ else:
522
+ if self.current_widget == "callsign":
523
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
524
+ self.make_button_green(self.esm_dict["MYCALL"])
525
+ buttons_to_send.append(self.esm_dict["MYCALL"])
526
+
527
+ elif self.current_widget in ["other_1", "other_2"]:
528
+ if self.other_2.text() == "" or self.other_1.text() == "":
529
+ self.make_button_green(self.esm_dict["AGN"])
530
+ buttons_to_send.append(self.esm_dict["AGN"])
531
+ elif self.other_1.text().isalpha() and self.other_2.text().isalpha():
532
+ self.make_button_green(self.esm_dict["EXCH"])
533
+ buttons_to_send.append(self.esm_dict["EXCH"])
534
+ buttons_to_send.append("LOGIT")
535
+ else:
536
+ self.make_button_green(self.esm_dict["AGN"])
537
+ buttons_to_send.append(self.esm_dict["AGN"])
538
+
539
+ if with_enter is True and bool(len(buttons_to_send)):
540
+ sendstring = ""
541
+ for button in buttons_to_send:
542
+ if button:
543
+ if button == "LOGIT":
544
+ self.save_contact()
545
+ continue
546
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
547
+ self.fldigi_util.send_string(sendstring)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.11
3
+ Version: 24.10.14
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
@@ -181,7 +181,9 @@ when the program craps the bed. I'm only one guy, so if you see a bug let me kno
181
181
 
182
182
  I've recently added portions of code to watch for WSTJ-X and fldigi QSOs. I've added
183
183
  the Weekly RTTY Test, So RTTY could be tested. Also added FT8/4 and RTTY to ARRL Field
184
- Day and ARRL VHF. Praying that it works. I'll add more details later.
184
+ Day and ARRL VHF. Found works better if you don't use FlDigi for making the QSO at all.
185
+ Rather just using it as a RTTY modem and sending the text for it to send from Not1MM
186
+ using the function keys or ESM.
185
187
 
186
188
  ### Other not so supported contests
187
189
 
@@ -212,23 +214,25 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
212
214
  - ARRL VHF January, June, September
213
215
  - CQ 160 CW, SSB
214
216
  - CQ WPX CW, RTTY, SSB
215
- - CQ World Wide CW, RTTY, SSB
216
- - CWOps CWT
217
+ - .CQ World Wide CW, RTTY, SSB
218
+ - .CWOps CWT
217
219
  - Helvetia
218
220
  - IARU Fieldday R1 CW, SSB
219
221
  - IARU HF
220
222
  - ICWC MST
221
223
  - Japan International DX CW, SSB
222
- - K1USN Slow Speed Test
224
+ - .K1USN Slow Speed Test
223
225
  - NAQP CW, SSB
224
226
  - Phone Weekly Test
225
227
  - RAC Canada Day
226
228
  - Stew Perry Topband
227
- - Weekly RTTY
229
+ - .Weekly RTTY
228
230
  - Winter Field Day
229
231
 
230
232
  ## Recent Changes
231
233
 
234
+ - [24-10-14] Add ESM to CQ WPX.
235
+ - [24-10-13] Added ESM to Weekly RTTY, K1USN and CWT.
232
236
  - [24-10-11] added ESM to CQWW SSB and RTTY.
233
237
  - [24-10-10] Add ESM to CQ WW CW to test it out.
234
238
  - [24-10-8] Fix crash on Tune to spot. Change placeholder text for the CW port for those unable to read documentation.
@@ -731,7 +735,7 @@ is this has happened, since the gridsquare will replace the word "Regional".
731
735
  | [TAB] | Move cursor to the right one field. |
732
736
  | [Shift-Tab] | Move cursor left One field. |
733
737
  | [SPACE] | When in the callsign field, will move the input to the first field needed for the exchange. |
734
- | [Enter] | Submits the fields to the log. |
738
+ | [Enter] | Submits the fields to the log. Unless ESM is enabled. |
735
739
  | [F1-F12] | Send (CW/RTTY/Voice) macros. |
736
740
  | [CTRL-S] | Spot Callsign to the cluster. |
737
741
  | [CTRL-M] | Mark Callsign to the bandmap window to work later. |
@@ -1,5 +1,5 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=ngZS47u69zLx2N6xzpRqisV8_NB5_JDhTPh6BD8x0DY,134836
2
+ not1mm/__main__.py,sha256=gcIDO3SWrPRwZHBLEhLt2EkDXPobcNJm4sfbVCiUlM8,135056
3
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
@@ -19,7 +19,7 @@ not1mm/data/checkwindow.ui,sha256=Ux5EgO-JalGB9qx3M6tmMpGHO0RmuuY1w0XEbuwd1xk,46
19
19
  not1mm/data/configuration.ui,sha256=VGJYL14XPuJkJVKk0FWyZWFXK5ibZ3_0_VUBXyzKnOk,68141
20
20
  not1mm/data/contests.sql,sha256=4hmJCDvrbxnA_Y5S4T5o52TZieeFk6QUwFerwlFePNA,89307
21
21
  not1mm/data/cty.json,sha256=sBIN1raQOKeVIO5dRaWn0Yqq8XZKpM_VCzS3kMlcwp4,4871545
22
- not1mm/data/cwmacros.txt,sha256=PvJ7TxGILq-ErHb6Gbrm-08x76BbCdXb8AY8a7st5mg,451
22
+ not1mm/data/cwmacros.txt,sha256=NztufsX6R52gAO7VyJ2AHr7wOh41pJTwHKh5Lcs32ds,468
23
23
  not1mm/data/donors.html,sha256=8hNzO3Q5a6p-_3egT1hfOjimPf810tKMUM5ukLzUsGM,116
24
24
  not1mm/data/editcontact.ui,sha256=TNOsXETYfDaON4wj6AkzCJ-n2SmbNRO2-g2SLl5m8s0,27437
25
25
  not1mm/data/editmacro.ui,sha256=Vg-S62ogKYcWlDDlza_JYyZkCQfa8mCfF-cFqpBej-w,2700
@@ -39,7 +39,7 @@ not1mm/data/radio_green.png,sha256=PXlvRI2x0C8yLVkxRwrZe6tex8k9GtM-1Cj2Vy6KP7o,1
39
39
  not1mm/data/radio_grey.png,sha256=9eOtMHDpQvRYY29D7_vPeacWbwotRXZTMm8EiHE9TW0,1258
40
40
  not1mm/data/radio_red.png,sha256=QvkMk7thd_hCEIyK5xGAG4xVVXivl39nwOfD8USDI20,957
41
41
  not1mm/data/reddot.png,sha256=M33jEMoU8W4rQ4_MVyzzKxDPDte1ypKBch5VnUMNLKE,565
42
- not1mm/data/rttymacros.txt,sha256=BRf0JJtHZylTAvpmxHS6hlanHgybZoLyDMqdif9rODY,447
42
+ not1mm/data/rttymacros.txt,sha256=Pq-mt1fAmhYLOs8dU5S2j7-K7MalocTEEngownfyeJI,449
43
43
  not1mm/data/settings.ui,sha256=NyHFUb3ZFEgZ4bYB3O7qlO_0TvZwcc9SFPr7z9nF6kk,40123
44
44
  not1mm/data/splash.png,sha256=85_BQotR1q24uCthrKm4SB_6ZOMwRjR-Jdp1XBHSTyg,5368
45
45
  not1mm/data/ssbmacros.txt,sha256=0Qccj4y0nlK-w5da9a9ti-jILkURtwztoDuL_D0pEJM,470
@@ -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=7_JFDSKPOd35Gwzqhrbed4EfrlYUm7AEnz2xBRioc-g,13280
116
116
  not1mm/lib/super_check_partial.py,sha256=p5l3u2ZOCBtlWgbvskC50FpuoaIpR07tfC6zTdRWbh4,2334
117
- not1mm/lib/version.py,sha256=11sLQyVzbaMjvkMIKVrGCgt7rstPeuBY2T3MByUrYys,49
117
+ not1mm/lib/version.py,sha256=5FcRZ4LJYlhATkLgCJmVozjtLkJZxonDosjR6rRNS7o,49
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
@@ -134,13 +134,13 @@ not1mm/plugins/arrl_vhf_sep.py,sha256=3f5mmXuoe7jt6A8FXFBwentO3lyGMCHSgtkiDcX4Uu
134
134
  not1mm/plugins/canada_day.py,sha256=OVpcCl1Chse_zLHf6PayTrgawWM4W-pmrTw40Al-o9s,11998
135
135
  not1mm/plugins/cq_160_cw.py,sha256=5s6rIZdJEnmWe1SI06BEyz7p5vP0N2n9mI4l_mZ0icw,14139
136
136
  not1mm/plugins/cq_160_ssb.py,sha256=zIwSMAjHSt6W2edrDzVbyTf860JowHoFkU9BKO8Enag,14182
137
- not1mm/plugins/cq_wpx_cw.py,sha256=9aNzAR-KhznIwUlxUFjAi_hbiw_6RrCMwUBk9I2f6Hs,14037
138
- not1mm/plugins/cq_wpx_rtty.py,sha256=PpU_PxjQGeMjzbofYNsl-No37s7IgkPyW2bKFRkN9jU,16473
139
- not1mm/plugins/cq_wpx_ssb.py,sha256=-hGRovqHR9rfOUnG4LPOoABTb4heH8VAX6rYdJbCqsw,12687
140
- not1mm/plugins/cq_ww_cw.py,sha256=rtJynxy4RAYXwGOk76k6DbVN1lo-Zl9voFH5t2OgplA,16130
141
- not1mm/plugins/cq_ww_rtty.py,sha256=PkwYEObRGw2oX5E1ch7ApsEP0AnnOCL9fbxq4zh4jns,21088
142
- not1mm/plugins/cq_ww_ssb.py,sha256=yZ-M6FE9TTKpZk9kMIzGCGB8Lszowj_bO2fRUa2PuP4,16421
143
- not1mm/plugins/cwt.py,sha256=KvvkEfQrYSra0y8qE4yThvZNLrZcslt0IqYEomDpf-M,12774
137
+ not1mm/plugins/cq_wpx_cw.py,sha256=parnwI_NkM3ODgw95Mt-yJvwqTLXB56ghFvQPcORXy4,17659
138
+ not1mm/plugins/cq_wpx_rtty.py,sha256=p2a0l6aKpYAY19KJWSRJKp8fCbdcBfyQR33DGQpZ3YE,20478
139
+ not1mm/plugins/cq_wpx_ssb.py,sha256=vqohvHlHl7wH2eqzytGJOjWerRP4MExK3-4TY2hioNo,16309
140
+ not1mm/plugins/cq_ww_cw.py,sha256=kJCL4dIJOEW9O45vPTjWhQpa7KPZv8fkEAs4MJHpfkY,15962
141
+ not1mm/plugins/cq_ww_rtty.py,sha256=njYqgr9ZijRaZgPwYumt95jrCE8kmFg4zwbaaJY1cMU,20772
142
+ not1mm/plugins/cq_ww_ssb.py,sha256=NGNysV6MR7OILLtfMF1Gp82gErjUEyekJ0WnWkUhgHA,16156
143
+ not1mm/plugins/cwt.py,sha256=AWUEZFY1ezts3dfHw1iKeXum-IdxXnoqe1LoenxputE,16542
144
144
  not1mm/plugins/general_logging.py,sha256=n-2es7erqK1ptwq_wwIKIwktptKN7ra2eWjAQlpXUac,3479
145
145
  not1mm/plugins/helvetia.py,sha256=6aOO4uiLzFFgHA-A3xz6IRdCJpqPOAm0egKxP5Y_Ie0,15432
146
146
  not1mm/plugins/iaru_fieldday_r1_cw.py,sha256=B_kh8d8LkC0va_iIiIzImOKAT8724yf9ceF-2eQdx1w,13301
@@ -149,17 +149,17 @@ not1mm/plugins/iaru_hf.py,sha256=-ROUo2gBkw3xB89t8bd-4f7_1hROw2VXZXVHLFdB62s,115
149
149
  not1mm/plugins/icwc_mst.py,sha256=v8L5NX2QmTM7x8Po1mb4yfN-dGVIuqky5MIT-OjfaVY,11831
150
150
  not1mm/plugins/jidx_cw.py,sha256=9oV4hDxMiGXa9wuYUNYOCsr-mz8LYB-4WMHBN8u2dFk,12153
151
151
  not1mm/plugins/jidx_ph.py,sha256=T-V7-77SIwu-Jl55VIrbVFZlsBoc97mXtgbdde0GaiQ,11183
152
- not1mm/plugins/k1usn_sst.py,sha256=2Nu7SRiQeUG3mL9CLKReRLh8vKsNbWcizMgv9MTLkrg,11671
152
+ not1mm/plugins/k1usn_sst.py,sha256=l-_r-Ve1txpJF1UyqoaOKUXjTaKxQtzxCbXd7fZCZIg,15439
153
153
  not1mm/plugins/naqp_cw.py,sha256=c0MuKqfkIxiYFvv2z7vqrBz3m9FSnSYkPK3f-DdkTIA,12632
154
154
  not1mm/plugins/naqp_ssb.py,sha256=VLWVrSzI0UP1AhSXYn61eZ7or1rz6a_pS_xCKfgS4Jw,11595
155
155
  not1mm/plugins/phone_weekly_test.py,sha256=fLpMe03WB9_KgRl6vMgQQt_aktFdqfNt2Sw81CTRAUs,12325
156
156
  not1mm/plugins/ref_cw.py,sha256=aWjHHkqIKutjRUtzh09y5haFfnZK9poRQDWRQMDRxxU,16326
157
157
  not1mm/plugins/stew_perry_topband.py,sha256=CKBQbYl4ETxhXJd2dma4fg_C5pag_s7Nf61SCztZtqE,10668
158
- not1mm/plugins/weekly_rtty.py,sha256=DQcy3SY0Zn56EdlYGf3NxrRhTnkNa5IqRQPRQdKDSPs,14255
158
+ not1mm/plugins/weekly_rtty.py,sha256=S_oBAnsIq2ng7FunIB2qukdZyhMzQKGDAlQFc9UUr-U,18255
159
159
  not1mm/plugins/winter_field_day.py,sha256=4rcfRtobwjHO6BNL3WOTHzBmyyeuX79BNGBG8PfjrI8,10238
160
- not1mm-24.10.11.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
161
- not1mm-24.10.11.dist-info/METADATA,sha256=BUtm_36wm9fHDJY2I_NUWaM2pp8CDqmgZZ1OACiSGb8,33562
162
- not1mm-24.10.11.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
163
- not1mm-24.10.11.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
164
- not1mm-24.10.11.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
165
- not1mm-24.10.11.dist-info/RECORD,,
160
+ not1mm-24.10.14.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
161
+ not1mm-24.10.14.dist-info/METADATA,sha256=B_xYjcgKKAYPEdlNEi-KOrti6GC670xE54LjuUNsc4I,33810
162
+ not1mm-24.10.14.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
163
+ not1mm-24.10.14.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
164
+ not1mm-24.10.14.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
165
+ not1mm-24.10.14.dist-info/RECORD,,