From d79c89c74ad54b342ddb1d08916e1b2c13926c75 Mon Sep 17 00:00:00 2001 From: Ian Renton Date: Sun, 27 Sep 2026 14:55:00 +0100 Subject: [PATCH] Be explicit about can_submit_spot methods --- providers/spot/aprsis.py | 4 ++++ providers/spot/llota.py | 4 ++++ providers/spot/rbn.py | 5 +++++ providers/spot/towers.py | 4 ++++ providers/spot/ukpacketnet.py | 4 ++++ providers/spot/xota.py | 6 ++++++ templates/add-spot.html | 2 +- templates/alerts.html | 2 +- templates/bands.html | 4 ++-- templates/base.html | 10 +++++----- templates/conditions.html | 2 +- templates/map.html | 4 ++-- templates/spots.html | 4 ++-- templates/status.html | 2 +- 14 files changed, 42 insertions(+), 15 deletions(-) diff --git a/providers/spot/aprsis.py b/providers/spot/aprsis.py index 8be74b7..cad8c03 100644 --- a/providers/spot/aprsis.py +++ b/providers/spot/aprsis.py @@ -83,3 +83,7 @@ class APRSIS(SpotProvider): except Exception: logger.exception("Exception handling APRS-IS packet") + + # Sending spots to APRS-IS from Spothole doesn't really make sense + def can_submit_spot(self, activity): + return False diff --git a/providers/spot/llota.py b/providers/spot/llota.py index eab1d4e..a6140ee 100644 --- a/providers/spot/llota.py +++ b/providers/spot/llota.py @@ -50,3 +50,7 @@ class LLOTA(HTTPSpotProvider): # that for us. new_spots.append(spot) return new_spots + + # As far as I know as of September 2026, there is no spot submission API for LLOTA. + def can_submit_spot(self, activity): + return False diff --git a/providers/spot/rbn.py b/providers/spot/rbn.py index 5862bcc..bdd10af 100644 --- a/providers/spot/rbn.py +++ b/providers/spot/rbn.py @@ -52,3 +52,8 @@ class RBN(TelnetSpotProvider): comment=match.group(4).strip(), time=spot_datetime.timestamp(), ) + + # Sending spots to RBN from Spothole doesn't really make sense + def can_submit_spot(self, activity): + return False + diff --git a/providers/spot/towers.py b/providers/spot/towers.py index 28bedb5..040e97e 100644 --- a/providers/spot/towers.py +++ b/providers/spot/towers.py @@ -47,3 +47,7 @@ class Towers(HTTPSpotProvider): # that for us. new_spots.append(spot) return new_spots + + # As far as I know as of September 2026, there is no spot submission API for Towers on the Air. + def can_submit_spot(self, activity): + return False diff --git a/providers/spot/ukpacketnet.py b/providers/spot/ukpacketnet.py index 3516d21..365a3c7 100644 --- a/providers/spot/ukpacketnet.py +++ b/providers/spot/ukpacketnet.py @@ -104,3 +104,7 @@ class UKPacketNet(HTTPSpotProvider): spot.dx_longitude = nodes[spot.dx_call]["location"]["coords"]["lon"] return new_spots + + # Sending spots to UK Packet Network from Spothole doesn't really make sense + def can_submit_spot(self, activity): + return False diff --git a/providers/spot/xota.py b/providers/spot/xota.py index 74ced34..8408a8f 100644 --- a/providers/spot/xota.py +++ b/providers/spot/xota.py @@ -58,3 +58,9 @@ class XOTA(WebsocketSpotProvider): qrt=source_spot["state"] != "active", ) return spot + + # I haven't investigated whether xOTA has a spot submission API, but as we only use it for + # Toilets on the air currently, and realistically no-one is entering their Toilet spots using + # Spothole, this is very low priority. + def can_submit_spot(self, activity): + return False diff --git a/templates/add-spot.html b/templates/add-spot.html index b91e695..2252683 100644 --- a/templates/add-spot.html +++ b/templates/add-spot.html @@ -130,7 +130,7 @@ const ALLOW_UPSTREAM_SPOTTING = {% raw safe_json_dumps(web_ui_options["allow_upstream_spotting"]) %}; - + diff --git a/templates/alerts.html b/templates/alerts.html index 6112e3a..5deca73 100644 --- a/templates/alerts.html +++ b/templates/alerts.html @@ -87,7 +87,7 @@ - + diff --git a/templates/bands.html b/templates/bands.html index d568fbd..46e05df 100644 --- a/templates/bands.html +++ b/templates/bands.html @@ -82,8 +82,8 @@ const BANDS = {% raw safe_json_dumps(options["bands"]) %}; - - + + diff --git a/templates/base.html b/templates/base.html index d7915f0..41749fd 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,6 +1,6 @@ {% extends "skeleton.html" %} {% block head_extra %} - + @@ -16,10 +16,10 @@ window.fetchEventSource = fetchEventSource; - - - - + + + + {% end %} {% block body %}
diff --git a/templates/conditions.html b/templates/conditions.html index 540f93d..9fced4f 100644 --- a/templates/conditions.html +++ b/templates/conditions.html @@ -284,7 +284,7 @@
- + diff --git a/templates/map.html b/templates/map.html index f865064..fbf5d4d 100644 --- a/templates/map.html +++ b/templates/map.html @@ -115,8 +115,8 @@ const CARTODB_API_KEY = "{{ web_ui_options.get('cartodb_api_key', '') }}"; - - + + diff --git a/templates/spots.html b/templates/spots.html index b6959d4..789377f 100644 --- a/templates/spots.html +++ b/templates/spots.html @@ -127,8 +127,8 @@ - - + + diff --git a/templates/status.html b/templates/status.html index 0ac0e07..df8e90e 100644 --- a/templates/status.html +++ b/templates/status.html @@ -96,7 +96,7 @@ - +