not1mm 24.10.8__py3-none-any.whl → 24.10.11__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.
@@ -380,3 +380,111 @@ def cabrillo(self):
380
380
 
381
381
  def recalculate_mults(self):
382
382
  """Recalculates multipliers after change in logged qso."""
383
+
384
+
385
+ def process_esm(self, new_focused_widget=None, with_enter=False):
386
+ """ESM State Machine"""
387
+
388
+ # self.pref["run_state"]
389
+
390
+ # -----===== Assigned F-Keys =====-----
391
+ # self.esm_dict["CQ"]
392
+ # self.esm_dict["EXCH"]
393
+ # self.esm_dict["QRZ"]
394
+ # self.esm_dict["AGN"]
395
+ # self.esm_dict["HISCALL"]
396
+ # self.esm_dict["MYCALL"]
397
+ # self.esm_dict["QSOB4"]
398
+
399
+ # ----==== text fields ====----
400
+ # self.callsign
401
+ # self.sent
402
+ # self.receive
403
+ # self.other_1
404
+ # self.other_2
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
+ 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")=}")
417
+
418
+ for a_button in [
419
+ self.F1,
420
+ self.F2,
421
+ self.F3,
422
+ self.F4,
423
+ self.F5,
424
+ self.F6,
425
+ self.F7,
426
+ self.F8,
427
+ self.F9,
428
+ self.F10,
429
+ self.F11,
430
+ self.F12,
431
+ ]:
432
+ self.restore_button_color(a_button)
433
+
434
+ buttons_to_send = []
435
+
436
+ if self.pref.get("run_state"):
437
+ if self.current_widget == "callsign":
438
+ if len(self.callsign.text()) < 3:
439
+ self.make_button_green(self.esm_dict["CQ"])
440
+ buttons_to_send.append(self.esm_dict["CQ"])
441
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
442
+ self.make_button_green(self.esm_dict["HISCALL"])
443
+ self.make_button_green(self.esm_dict["EXCH"])
444
+ buttons_to_send.append(self.esm_dict["HISCALL"])
445
+ buttons_to_send.append(self.esm_dict["EXCH"])
446
+
447
+ if self.current_widget == "other_2":
448
+ if self.other_2.text() == "":
449
+ self.make_button_green(self.esm_dict["AGN"])
450
+ buttons_to_send.append(self.esm_dict["AGN"])
451
+ elif self.other_2.text().isnumeric():
452
+ self.make_button_green(self.esm_dict["QRZ"])
453
+ buttons_to_send.append(self.esm_dict["QRZ"])
454
+ buttons_to_send.append("LOGIT")
455
+ else:
456
+ self.make_button_green(self.esm_dict["AGN"])
457
+ buttons_to_send.append(self.esm_dict["AGN"])
458
+
459
+ if with_enter is True and bool(len(buttons_to_send)):
460
+ for button in buttons_to_send:
461
+ if button:
462
+ if button == "LOGIT":
463
+ self.save_contact()
464
+ continue
465
+ self.process_function_key(button)
466
+ else:
467
+ if self.current_widget == "callsign":
468
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
469
+ self.make_button_green(self.esm_dict["MYCALL"])
470
+ buttons_to_send.append(self.esm_dict["MYCALL"])
471
+
472
+ if self.current_widget == "other_2":
473
+ if self.other_2.text() == "":
474
+ self.make_button_green(self.esm_dict["AGN"])
475
+ buttons_to_send.append(self.esm_dict["AGN"])
476
+ elif self.other_2.text().isnumeric():
477
+ self.make_button_green(self.esm_dict["EXCH"])
478
+ buttons_to_send.append(self.esm_dict["EXCH"])
479
+ buttons_to_send.append("LOGIT")
480
+ else:
481
+ self.make_button_green(self.esm_dict["AGN"])
482
+ buttons_to_send.append(self.esm_dict["AGN"])
483
+
484
+ if with_enter is True and bool(len(buttons_to_send)):
485
+ for button in buttons_to_send:
486
+ if button:
487
+ if button == "LOGIT":
488
+ self.save_contact()
489
+ continue
490
+ self.process_function_key(button)
@@ -146,7 +146,7 @@ def set_contact_vars(self):
146
146
  self.contact["ZN"] = self.other_1.text()
147
147
  self.contact["Exchange1"] = self.other_2.text()
148
148
  self.contact["SentNr"] = self.contest_settings.get("SentExchange", 0)
149
-
149
+
150
150
 
151
151
  def predupe(self):
152
152
  """called after callsign entered"""
@@ -195,7 +195,11 @@ def show_mults(self):
195
195
  res3_query = f"select count(DISTINCT(Exchange1 || ':' || Band)) as spc_count from dxlog where ContestNR = {self.database.current_contest};"
196
196
  result3 = self.database.exec_sql(res3_query)
197
197
  if result1 and result2 and result3:
198
- return int(result1.get("zb_count", 0)) + int(result2.get("cb_count", 0)) + int(result3.get("spc_count", 0))
198
+ return (
199
+ int(result1.get("zb_count", 0))
200
+ + int(result2.get("cb_count", 0))
201
+ + int(result3.get("spc_count", 0))
202
+ )
199
203
  return 0
200
204
 
201
205
 
@@ -366,21 +370,21 @@ def cabrillo(self):
366
370
  if themode == "LSB" or themode == "USB":
367
371
  themode = "PH"
368
372
  if themode.strip() in (
369
- "RTTY",
370
- "RTTY-R",
371
- "LSB-D",
372
- "USB-D",
373
- "AM-D",
374
- "FM-D",
375
- "DIGI-U",
376
- "DIGI-L",
377
- "RTTYR",
378
- "PKTLSB",
379
- "PKTUSB",
380
- ):
373
+ "RTTY",
374
+ "RTTY-R",
375
+ "LSB-D",
376
+ "USB-D",
377
+ "AM-D",
378
+ "FM-D",
379
+ "DIGI-U",
380
+ "DIGI-L",
381
+ "RTTYR",
382
+ "PKTLSB",
383
+ "PKTUSB",
384
+ ):
381
385
  themode = "RY"
382
- exchange1 = contact.get('Exchange1', '')
383
- if exchange1 == '':
386
+ exchange1 = contact.get("Exchange1", "")
387
+ if exchange1 == "":
384
388
  exchange1 = "DX"
385
389
  frequency = str(int(contact.get("Freq", "0"))).rjust(5)
386
390
 
@@ -491,3 +495,117 @@ def ft8_handler(the_packet: dict):
491
495
  ALTEREGO.other_1.setText(str(the_packet.get("CQZ", "ERR")))
492
496
  ALTEREGO.other_2.setText(f'{the_packet.get("STATE", "")}'.strip())
493
497
  ALTEREGO.save_contact()
498
+
499
+
500
+ def process_esm(self, new_focused_widget=None, with_enter=False):
501
+ """ESM State Machine"""
502
+
503
+ # self.pref["run_state"]
504
+
505
+ # -----===== Assigned F-Keys =====-----
506
+ # self.esm_dict["CQ"]
507
+ # self.esm_dict["EXCH"]
508
+ # self.esm_dict["QRZ"]
509
+ # self.esm_dict["AGN"]
510
+ # self.esm_dict["HISCALL"]
511
+ # self.esm_dict["MYCALL"]
512
+ # self.esm_dict["QSOB4"]
513
+
514
+ # ----==== text fields ====----
515
+ # self.callsign
516
+ # self.sent
517
+ # self.receive
518
+ # self.other_1
519
+ # self.other_2
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
+ if new_focused_widget is not None:
529
+ self.current_widget = inputs.get(new_focused_widget)
530
+
531
+ # print(f"checking esm {self.current_widget=} {with_enter=} {self.pref.get("run_state")=}")
532
+
533
+ for a_button in [
534
+ self.F1,
535
+ self.F2,
536
+ self.F3,
537
+ self.F4,
538
+ self.F5,
539
+ self.F6,
540
+ self.F7,
541
+ self.F8,
542
+ self.F9,
543
+ self.F10,
544
+ self.F11,
545
+ self.F12,
546
+ ]:
547
+ self.restore_button_color(a_button)
548
+
549
+ buttons_to_send = []
550
+
551
+ if self.pref.get("run_state"):
552
+ if self.current_widget == "callsign":
553
+ if len(self.callsign.text()) < 3:
554
+ self.make_button_green(self.esm_dict["CQ"])
555
+ buttons_to_send.append(self.esm_dict["CQ"])
556
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
557
+ self.make_button_green(self.esm_dict["HISCALL"])
558
+ self.make_button_green(self.esm_dict["EXCH"])
559
+ buttons_to_send.append(self.esm_dict["HISCALL"])
560
+ buttons_to_send.append(self.esm_dict["EXCH"])
561
+
562
+ if self.current_widget in ["other_1", "other_2"]:
563
+ if self.other_2.text() == "" or self.other_1.text() == "":
564
+ self.make_button_green(self.esm_dict["AGN"])
565
+ buttons_to_send.append(self.esm_dict["AGN"])
566
+ elif self.other_1.text().isnumeric() and self.other_2.text().isalpha():
567
+ self.make_button_green(self.esm_dict["QRZ"])
568
+ buttons_to_send.append(self.esm_dict["QRZ"])
569
+ buttons_to_send.append("LOGIT")
570
+ else:
571
+ self.make_button_green(self.esm_dict["AGN"])
572
+ buttons_to_send.append(self.esm_dict["AGN"])
573
+
574
+ if with_enter is True and bool(len(buttons_to_send)):
575
+ sendstring = ""
576
+ for button in buttons_to_send:
577
+ if button:
578
+ if button == "LOGIT":
579
+ self.save_contact()
580
+ continue
581
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
582
+ # self.process_function_key(button, rttysendrx=False)
583
+ self.fldigi_util.send_string(sendstring)
584
+ else:
585
+ if self.current_widget == "callsign":
586
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
587
+ self.make_button_green(self.esm_dict["MYCALL"])
588
+ buttons_to_send.append(self.esm_dict["MYCALL"])
589
+
590
+ if self.current_widget in ["other_1", "other_2"]:
591
+ if self.other_2.text() == "" or self.other_1.text() == "":
592
+ self.make_button_green(self.esm_dict["AGN"])
593
+ buttons_to_send.append(self.esm_dict["AGN"])
594
+ elif self.other_1.text().isnumeric() and self.other_2.text().isalpha():
595
+ self.make_button_green(self.esm_dict["EXCH"])
596
+ buttons_to_send.append(self.esm_dict["EXCH"])
597
+ buttons_to_send.append("LOGIT")
598
+ else:
599
+ self.make_button_green(self.esm_dict["AGN"])
600
+ buttons_to_send.append(self.esm_dict["AGN"])
601
+
602
+ if with_enter is True and bool(len(buttons_to_send)):
603
+ sendstring = ""
604
+ for button in buttons_to_send:
605
+ if button:
606
+ if button == "LOGIT":
607
+ self.save_contact()
608
+ continue
609
+ sendstring = f"{sendstring}{self.process_macro(button.toolTip())} "
610
+ # self.process_function_key(button, rttysendrx=False)
611
+ self.fldigi_util.send_string(sendstring)
@@ -380,3 +380,111 @@ def cabrillo(self):
380
380
 
381
381
  def recalculate_mults(self):
382
382
  """Recalculates multipliers after change in logged qso."""
383
+
384
+
385
+ def process_esm(self, new_focused_widget=None, with_enter=False):
386
+ """ESM State Machine"""
387
+
388
+ # self.pref["run_state"]
389
+
390
+ # -----===== Assigned F-Keys =====-----
391
+ # self.esm_dict["CQ"]
392
+ # self.esm_dict["EXCH"]
393
+ # self.esm_dict["QRZ"]
394
+ # self.esm_dict["AGN"]
395
+ # self.esm_dict["HISCALL"]
396
+ # self.esm_dict["MYCALL"]
397
+ # self.esm_dict["QSOB4"]
398
+
399
+ # ----==== text fields ====----
400
+ # self.callsign
401
+ # self.sent
402
+ # self.receive
403
+ # self.other_1
404
+ # self.other_2
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
+ 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")=}")
417
+
418
+ for a_button in [
419
+ self.F1,
420
+ self.F2,
421
+ self.F3,
422
+ self.F4,
423
+ self.F5,
424
+ self.F6,
425
+ self.F7,
426
+ self.F8,
427
+ self.F9,
428
+ self.F10,
429
+ self.F11,
430
+ self.F12,
431
+ ]:
432
+ self.restore_button_color(a_button)
433
+
434
+ buttons_to_send = []
435
+
436
+ if self.pref.get("run_state"):
437
+ if self.current_widget == "callsign":
438
+ if len(self.callsign.text()) < 3:
439
+ self.make_button_green(self.esm_dict["CQ"])
440
+ buttons_to_send.append(self.esm_dict["CQ"])
441
+ elif len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
442
+ self.make_button_green(self.esm_dict["HISCALL"])
443
+ self.make_button_green(self.esm_dict["EXCH"])
444
+ buttons_to_send.append(self.esm_dict["HISCALL"])
445
+ buttons_to_send.append(self.esm_dict["EXCH"])
446
+
447
+ if self.current_widget == "other_2":
448
+ if self.other_2.text() == "":
449
+ self.make_button_green(self.esm_dict["AGN"])
450
+ buttons_to_send.append(self.esm_dict["AGN"])
451
+ elif self.other_2.text().isnumeric():
452
+ self.make_button_green(self.esm_dict["QRZ"])
453
+ buttons_to_send.append(self.esm_dict["QRZ"])
454
+ buttons_to_send.append("LOGIT")
455
+ else:
456
+ self.make_button_green(self.esm_dict["AGN"])
457
+ buttons_to_send.append(self.esm_dict["AGN"])
458
+
459
+ if with_enter is True and bool(len(buttons_to_send)):
460
+ for button in buttons_to_send:
461
+ if button:
462
+ if button == "LOGIT":
463
+ self.save_contact()
464
+ continue
465
+ self.process_function_key(button)
466
+ else:
467
+ if self.current_widget == "callsign":
468
+ if len(self.callsign.text()) > 2 and self.callsign.text().isalnum():
469
+ self.make_button_green(self.esm_dict["MYCALL"])
470
+ buttons_to_send.append(self.esm_dict["MYCALL"])
471
+
472
+ if self.current_widget == "other_2":
473
+ if self.other_2.text() == "":
474
+ self.make_button_green(self.esm_dict["AGN"])
475
+ buttons_to_send.append(self.esm_dict["AGN"])
476
+ elif self.other_2.text().isnumeric():
477
+ self.make_button_green(self.esm_dict["EXCH"])
478
+ buttons_to_send.append(self.esm_dict["EXCH"])
479
+ buttons_to_send.append("LOGIT")
480
+ else:
481
+ self.make_button_green(self.esm_dict["AGN"])
482
+ buttons_to_send.append(self.esm_dict["AGN"])
483
+
484
+ if with_enter is True and bool(len(buttons_to_send)):
485
+ for button in buttons_to_send:
486
+ if button:
487
+ if button == "LOGIT":
488
+ self.save_contact()
489
+ continue
490
+ self.process_function_key(button)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: not1mm
3
- Version: 24.10.8
3
+ Version: 24.10.11
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
@@ -118,6 +118,16 @@ Requires-Dist: Levenshtein
118
118
  - [Cabrillo](#cabrillo)
119
119
  - [ADIF](#adif)
120
120
  - [Recalulate Mults](#recalulate-mults)
121
+ - [Testing Out ESM Currently only in CQ WW](#testing-out-esm-currently-only-in-cq-ww)
122
+ - [Run States](#run-states)
123
+ - [CQ](#cq)
124
+ - [Call Entered send His Call and the Exchange](#call-entered-send-his-call-and-the-exchange)
125
+ - [Empty exchange field send AGN till you get it](#empty-exchange-field-send-agn-till-you-get-it)
126
+ - [Exchange field filled, send TU QRZ and logs it](#exchange-field-filled-send-tu-qrz-and-logs-it)
127
+ - [S\&P States](#sp-states)
128
+ - [With his call entered, Send your call](#with-his-call-entered-send-your-call)
129
+ - [If no exchange entered send AGN](#if-no-exchange-entered-send-agn)
130
+ - [With exchange entered, send your exchange and log it](#with-exchange-entered-send-your-exchange-and-log-it)
121
131
  - [Contest specific notes](#contest-specific-notes)
122
132
  - [ARRL Sweekstakes](#arrl-sweekstakes)
123
133
  - [The exchange parser](#the-exchange-parser)
@@ -219,6 +229,8 @@ generated, 'cause I'm lazy, list of those who've submitted PR's.
219
229
 
220
230
  ## Recent Changes
221
231
 
232
+ - [24-10-11] added ESM to CQWW SSB and RTTY.
233
+ - [24-10-10] Add ESM to CQ WW CW to test it out.
222
234
  - [24-10-8] Fix crash on Tune to spot. Change placeholder text for the CW port for those unable to read documentation.
223
235
  - [24-10-6] Removed 60, 30, 17 and 12M from the default list of bands.
224
236
  - [24-10-5-1] Store the bandmap spots age timer in the preferences.
@@ -828,6 +840,53 @@ After editing a contact and before generating a Cabrillo file. There is a Misc
828
840
  menu option that will recalculate the multipliers incase an edit had caused a
829
841
  change.
830
842
 
843
+ ## Testing Out ESM Currently only in CQ WW
844
+
845
+ I caved and started working on ESM or Enter Sends Message. Currently it is only
846
+ working in the CQ WW. To test it out you can go to `FILE -> Configuration Settings`
847
+
848
+ ![Config Screen](https://github.com/mbridak/not1mm/raw/master/pic/esm_config.png)
849
+
850
+ Check the mark to Enable ESM and tell it which function keys do what. The keys will need
851
+ to have the same function in both Run and S&P modes. The function keys will highlight
852
+ green depending on the state of the input fields. The green keys will be sent if you
853
+ press the Enter key. You should use the Space bar to move to another field.
854
+
855
+ The contact will be automatically logged once all the needed info is collected and the
856
+ QRZ (for Run) or Exchange (for S&P) is sent.
857
+
858
+ ### Run States
859
+
860
+ #### CQ
861
+
862
+ ![CQ](https://github.com/mbridak/not1mm/raw/master/pic/esm_cq.png)
863
+
864
+ #### Call Entered send His Call and the Exchange
865
+
866
+ ![Call Entered send His Call and the Exchange.](https://github.com/mbridak/not1mm/raw/master/pic/esm_withcall.png)
867
+
868
+ #### Empty exchange field send AGN till you get it
869
+
870
+ ![Empty exchange field send AGN till you get it](https://github.com/mbridak/not1mm/raw/master/pic/esm_empty_exchange.png)
871
+
872
+ #### Exchange field filled, send TU QRZ and logs it
873
+
874
+ ![Exchange field filled, send TU QRZ and logs it](https://github.com/mbridak/not1mm/raw/master/pic/esm_qrz.png)
875
+
876
+ ### S&P States
877
+
878
+ #### With his call entered, Send your call
879
+
880
+ ![With his call entered, Send your call](https://github.com/mbridak/not1mm/raw/master/pic/esm_sp_call.png)
881
+
882
+ #### If no exchange entered send AGN
883
+
884
+ ![If no exchange entered send AGN](https://github.com/mbridak/not1mm/raw/master/pic/esm_sp_agn.png)
885
+
886
+ #### With exchange entered, send your exchange and log it
887
+
888
+ ![With exchange entered, send your exchange and log it](https://github.com/mbridak/not1mm/raw/master/pic/esm_sp_logit.png)
889
+
831
890
  ## Contest specific notes
832
891
 
833
892
  I found it might be beneficial to have a section devoted to wierd quirky things
@@ -869,4 +928,4 @@ The best thing you can do is play around with it to see how it behaves.
869
928
  In the `Sent Exchange` field of the New Contest dialog put in the Precidence,
870
929
  Call, Check and Section. Example: `A K6GTE 17 ORG`.
871
930
 
872
- For the Run Exchange macro I'd put `{HISCALL} # A K6GTE 17 ORG`.
931
+ For the Run Exchange macro I'd put `{HISCALL} {SENTNR} {EXCH}`.
@@ -1,5 +1,5 @@
1
1
  not1mm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- not1mm/__main__.py,sha256=IjYrGDuq8T-Noe8gJ736-Mo7pyVepAHDGcMUigUGb-Y,131546
2
+ not1mm/__main__.py,sha256=ngZS47u69zLx2N6xzpRqisV8_NB5_JDhTPh6BD8x0DY,134836
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
@@ -16,7 +16,7 @@ not1mm/data/alpha bravo charlie delta.txt,sha256=d5QMmSWEUAe4Rj1XbNjTPLa_5Be4Se6
16
16
  not1mm/data/bandmap.ui,sha256=hvovf1YKyfUVVbKl6Ib2zU4RdUrFsQwm-255wVeKXZE,7180
17
17
  not1mm/data/check.png,sha256=UvFOLr8V-79qnjW8wUaGItXk_OSP8m8hqPevs8NDlFY,387
18
18
  not1mm/data/checkwindow.ui,sha256=Ux5EgO-JalGB9qx3M6tmMpGHO0RmuuY1w0XEbuwd1xk,4658
19
- not1mm/data/configuration.ui,sha256=L3gZPd_qaAntVIojUktJXSj6dAAs9NNWLgzxdaWEZBE,53488
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
22
  not1mm/data/cwmacros.txt,sha256=PvJ7TxGILq-ErHb6Gbrm-08x76BbCdXb8AY8a7st5mg,451
@@ -112,9 +112,9 @@ not1mm/lib/new_contest.py,sha256=IznTDMq7yXHB6zBoGUEC_WDYPCPpsSZW4wwMJi16zK0,816
112
112
  not1mm/lib/playsound.py,sha256=kxkcitBFbZCXJ2wxQ1lxg4rBwfxiSpuNpJSXHOPCoXA,9241
113
113
  not1mm/lib/plugin_common.py,sha256=TbFUbftjELFt4QRdsjSHbqnXSngZOlSwlCTClqosDXA,9727
114
114
  not1mm/lib/select_contest.py,sha256=WsptLuwkouIHeocJL3oZ6-eUfEnhpwdc-x7eMZ_TIVM,359
115
- not1mm/lib/settings.py,sha256=YYAAdvhqlQ6y4GOJSxNmE4eDlgsIt2MvLxxOAbcpscY,11184
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=UYQ03Ct1PZCaboAlM47NoWvd3H9bDtVzUrLc-mKQ5h8,48
117
+ not1mm/lib/version.py,sha256=11sLQyVzbaMjvkMIKVrGCgt7rstPeuBY2T3MByUrYys,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
@@ -137,9 +137,9 @@ not1mm/plugins/cq_160_ssb.py,sha256=zIwSMAjHSt6W2edrDzVbyTf860JowHoFkU9BKO8Enag,
137
137
  not1mm/plugins/cq_wpx_cw.py,sha256=9aNzAR-KhznIwUlxUFjAi_hbiw_6RrCMwUBk9I2f6Hs,14037
138
138
  not1mm/plugins/cq_wpx_rtty.py,sha256=PpU_PxjQGeMjzbofYNsl-No37s7IgkPyW2bKFRkN9jU,16473
139
139
  not1mm/plugins/cq_wpx_ssb.py,sha256=-hGRovqHR9rfOUnG4LPOoABTb4heH8VAX6rYdJbCqsw,12687
140
- not1mm/plugins/cq_ww_cw.py,sha256=m4Xkqb_qFyXWEgkxqbanvtiCTvI8NNPKNXzHgFZzhnE,12340
141
- not1mm/plugins/cq_ww_rtty.py,sha256=WnqSfCNX6ieLZlUg_P_vx-Z2iY0lxdwEgPuT9aax1JU,16772
142
- not1mm/plugins/cq_ww_ssb.py,sha256=hZwG88-hPLmwIGXHX_S_ty8Nhn1kIuPjSuTRpCWoN9g,12631
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
143
  not1mm/plugins/cwt.py,sha256=KvvkEfQrYSra0y8qE4yThvZNLrZcslt0IqYEomDpf-M,12774
144
144
  not1mm/plugins/general_logging.py,sha256=n-2es7erqK1ptwq_wwIKIwktptKN7ra2eWjAQlpXUac,3479
145
145
  not1mm/plugins/helvetia.py,sha256=6aOO4uiLzFFgHA-A3xz6IRdCJpqPOAm0egKxP5Y_Ie0,15432
@@ -157,9 +157,9 @@ 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
- not1mm-24.10.8.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
161
- not1mm-24.10.8.dist-info/METADATA,sha256=Fkd1pSMlrrpa3X5I6LYhg_L0Ul2ZI1ntz1WJAjqCDJ8,30857
162
- not1mm-24.10.8.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
163
- not1mm-24.10.8.dist-info/entry_points.txt,sha256=pMcZk_0dxFgLkcUkF0Q874ojpwOmF3OL6EKw9LgvocM,47
164
- not1mm-24.10.8.dist-info/top_level.txt,sha256=0YmTxEcDzQlzXub-lXASvoLpg_mt1c2thb5cVkDf5J4,7
165
- not1mm-24.10.8.dist-info/RECORD,,
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,,