From 30c6222fa01ec667179b96e8cb8b3b721f0feed7 Mon Sep 17 00:00:00 2001 From: Ian Renton Date: Mon, 9 Mar 2026 10:41:38 +0000 Subject: [PATCH] Avoid treating Parks'n'Peaks "QRP" as a valid SIG. --- spotproviders/parksnpeaks.py | 22 ++++++++++++++-------- templates/about.html | 2 +- templates/add_spot.html | 4 ++-- templates/alerts.html | 4 ++-- templates/bands.html | 6 +++--- templates/base.html | 8 ++++---- templates/map.html | 6 +++--- templates/spots.html | 6 +++--- templates/status.html | 4 ++-- 9 files changed, 34 insertions(+), 28 deletions(-) diff --git a/spotproviders/parksnpeaks.py b/spotproviders/parksnpeaks.py index 3995d84..2048785 100644 --- a/spotproviders/parksnpeaks.py +++ b/spotproviders/parksnpeaks.py @@ -34,26 +34,32 @@ class ParksNPeaks(HTTPSpotProvider): # Seen PNP spots with empty frequency, and with comma-separated thousands digits mode=source_spot["actMode"].upper(), comment=source_spot["actComments"], - sig=source_spot["actClass"].upper(), - sig_refs=[SIGRef(id=source_spot["actSiteID"], sig=source_spot["actClass"].upper())], time=datetime.strptime(source_spot["actTime"], "%Y-%m-%d %H:%M:%S").replace( tzinfo=pytz.UTC).timestamp()) - # Free text location is not present in all spots, so only add it if it's set - if "actLocation" in source_spot and source_spot["actLocation"] != "": - spot.sig_refs[0].name = source_spot["actLocation"] - # Extract a de_call if it's in the comment but not in the "actSpoter" field m = re.search(r"\(de ([A-Za-z0-9]*)\)", spot.comment) if not spot.de_call and m: spot.de_call = m.group(1) + # Record SIG information. Sometimes we get a "SIG" of "QRP", which we ignore as it's not a programme with a + # defined set of references + sig = source_spot["actClass"].upper() + sig_ref = source_spot["actSiteID"] + if sig and sig != "" and sig != "QRP" and sig_ref and sig_ref != "": + spot.sig = sig + spot.sig_refs = [SIGRef(id=source_spot["actSiteID"], sig=source_spot["actClass"].upper())] + + # Free text location is not present in all spots, so only add it if it's set + if "actLocation" in source_spot and source_spot["actLocation"] != "": + spot.sig_refs[0].name = source_spot["actLocation"] + # Log a warning for the developer if PnP gives us an unknown programme we've never seen before - if spot.sig_refs[0].sig not in ["POTA", "SOTA", "WWFF", "SIOTA", "ZLOTA", "KRMNPA"]: + if spot.sig_refs and spot.sig_refs[0].sig not in ["POTA", "SOTA", "WWFF", "SIOTA", "ZLOTA", "KRMNPA"]: logging.warning("PNP spot found with sig " + spot.sig + ", developer needs to add support for this!") # If this is POTA, SOTA, WWFF or ZLOTA data we already have it through other means, so ignore. Otherwise, # add to the spot list. - if spot.sig_refs[0].sig not in ["POTA", "SOTA", "WWFF", "ZLOTA"]: + if not spot.sig_refs or spot.sig_refs[0].sig not in ["POTA", "SOTA", "WWFF", "ZLOTA"]: new_spots.append(spot) return new_spots diff --git a/templates/about.html b/templates/about.html index 5f4c03c..e159419 100644 --- a/templates/about.html +++ b/templates/about.html @@ -66,7 +66,7 @@

This software is dedicated to the memory of Tom G1PJB, SK, a friend and colleague who sadly passed away around the time I started writing it in Autumn 2025. I was looking forward to showing it to you when it was done.

- + {% end %} \ No newline at end of file diff --git a/templates/add_spot.html b/templates/add_spot.html index 4cb0b1d..80a6432 100644 --- a/templates/add_spot.html +++ b/templates/add_spot.html @@ -69,8 +69,8 @@ - - + + {% end %} \ No newline at end of file diff --git a/templates/alerts.html b/templates/alerts.html index 6dc7456..25cf897 100644 --- a/templates/alerts.html +++ b/templates/alerts.html @@ -56,8 +56,8 @@ - - + + {% end %} \ No newline at end of file diff --git a/templates/bands.html b/templates/bands.html index 29b2fac..afd7e54 100644 --- a/templates/bands.html +++ b/templates/bands.html @@ -62,9 +62,9 @@ - - - + + + {% end %} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index defb242..bb89aff 100644 --- a/templates/base.html +++ b/templates/base.html @@ -46,10 +46,10 @@ crossorigin="anonymous"> - - - - + + + + diff --git a/templates/map.html b/templates/map.html index 57cfd6f..33d2e06 100644 --- a/templates/map.html +++ b/templates/map.html @@ -70,9 +70,9 @@ - - - + + + {% end %} \ No newline at end of file diff --git a/templates/spots.html b/templates/spots.html index 8d9cfeb..3c8f586 100644 --- a/templates/spots.html +++ b/templates/spots.html @@ -87,9 +87,9 @@ - - - + + + {% end %} \ No newline at end of file diff --git a/templates/status.html b/templates/status.html index f3f48ff..9ff96fc 100644 --- a/templates/status.html +++ b/templates/status.html @@ -3,8 +3,8 @@
- - + + {% end %} \ No newline at end of file