Pushed changes to Not1MM

Most importantly fixed an intermittent lockup or freeze if the rigctld daemon were to go away.
Many more. You can view the changelog here https://github.com/mbridak/not1mm/blob/master/CHANGELOG.md

#hamradio #IARU #HF #contest #python #linux #macOS
https://github.com/mbridak/not1mm

not1mm/CHANGELOG.md at master · mbridak/not1mm

Not1MM != N1MM, An amateur radio contest logger for Linux. - mbridak/not1mm

GitHub

@k6gte Hey Mike,

How would you recommend implementing a state QSO party in Not1MM, along with validation of the entered county/exchange? I'm willing to put in the effort, but the .md files aren't fully helpful.

@praxiscode Yeah the usual path to success for a third party to implement a working plugin is to find an already working plugin that has the same or close-enough exchange/scoring to what you're trying to achieve, and modify it. Sometimes an event is so unique, like Sweepstakes, that you have to one-off most of it. I've been avoiding state qso parties cause there are just so many of them. So much so that I've actively not looked at their rules. Which one are you looking to operate?

I was thinking one of this weekend's (NY or IL). Mostly I'm looking for how to validate the exchange, and how to handle county-line operations (log as one contact for each county pairing). So... the list of counties needs to be plugged in SOMEWHERE...

I'm just asking for a nudge in the right direction, and I'll create a pull req when I've finished.
@k6gte

@praxiscode to validate the county you'd put all the counties in a list object, then when it's determined that it's time to check, you pull the value from the input and test if it exists in the list.

Sorry, I don't have access to my laptop today or I'd give you a code snippet.

counties = ["A", "B", "C"]

testinput = "b"

If testinput.upper() in counties:
Do something if True

There's a smartphone snippet for ya.

As far as multiple counties... Ewww. You'd have to loop over and log each.

That's about what I expected, although I'd use a set() instead of a list(). So it's not a case of the mults being in an SQL db someplace; they're just items in the module.py file.

@k6gte