diff --git a/core/status_reporter.py b/core/status_reporter.py index 8cff552..aba0a16 100644 --- a/core/status_reporter.py +++ b/core/status_reporter.py @@ -54,60 +54,78 @@ class StatusReporter: DATA_STORE.status_data["mem_use_mb"] = round(psutil.Process(os.getpid()).memory_info().rss / (1024 * 1024), 3) DATA_STORE.status_data["num_spots"] = len(DATA_STORE.spots.values()) DATA_STORE.status_data["num_alerts"] = len(DATA_STORE.alerts.values()) - DATA_STORE.status_data["spot_providers"] = [{ - "name": p.name, - "enabled": p.enabled, - "enabled_by_default_in_web_ui": p.enabled_by_default_in_web_ui, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - "last_spot": p.last_spot_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_spot_time.year > 2000 - else 0, - } for p in DATA_PROVIDERS.spot_providers] - DATA_STORE.status_data["alert_providers"] = [{ - "name": p.name, - "enabled": p.enabled, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - } for p in DATA_PROVIDERS.alert_providers] - DATA_STORE.status_data["solar_condition_providers"] = [{ - "name": p.name, - "enabled": p.enabled, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - } for p in DATA_PROVIDERS.solar_condition_providers] - DATA_STORE.status_data["static_data_providers"] = [{ - "name": p.name, - "enabled": p.enabled, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - } for p in DATA_PROVIDERS.static_data_providers] - DATA_STORE.status_data["sig_ref_data_providers"] = [{ - "sig_name": p.sig_name, - "enabled": p.enabled, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - "reference_count": p.reference_count, - } for p in DATA_PROVIDERS.sig_ref_data_providers] - DATA_STORE.status_data["callsign_data_providers"] = [{ - "name": p.name, - "enabled": p.enabled, - "status": p.status, - "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() - if p.last_update_time.year > 2000 - else 0, - "lookup_count": p.lookup_count, - } for p in DATA_PROVIDERS.callsign_data_providers] + DATA_STORE.status_data["spot_providers"] = [ + { + "name": p.name, + "enabled": p.enabled, + "enabled_by_default_in_web_ui": p.enabled_by_default_in_web_ui, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + "last_spot": p.last_spot_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_spot_time.year > 2000 + else 0, + } + for p in DATA_PROVIDERS.spot_providers + ] + DATA_STORE.status_data["alert_providers"] = [ + { + "name": p.name, + "enabled": p.enabled, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + } + for p in DATA_PROVIDERS.alert_providers + ] + DATA_STORE.status_data["solar_condition_providers"] = [ + { + "name": p.name, + "enabled": p.enabled, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + } + for p in DATA_PROVIDERS.solar_condition_providers + ] + DATA_STORE.status_data["static_data_providers"] = [ + { + "name": p.name, + "enabled": p.enabled, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + } + for p in DATA_PROVIDERS.static_data_providers + ] + DATA_STORE.status_data["sig_ref_data_providers"] = [ + { + "sig_name": p.sig_name, + "enabled": p.enabled, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + "reference_count": p.reference_count, + } + for p in DATA_PROVIDERS.sig_ref_data_providers + ] + DATA_STORE.status_data["callsign_data_providers"] = [ + { + "name": p.name, + "enabled": p.enabled, + "status": p.status, + "last_updated": p.last_update_time.replace(tzinfo=pytz.UTC).timestamp() + if p.last_update_time.year > 2000 + else 0, + "lookup_count": p.lookup_count, + } + for p in DATA_PROVIDERS.callsign_data_providers + ] DATA_STORE.status_data["cleanup"] = { "status": CLEANUP_TIMER.status, "last_ran": CLEANUP_TIMER.last_cleanup_time.replace(tzinfo=pytz.UTC).timestamp() diff --git a/providers/spot/dxcluster.py b/providers/spot/dxcluster.py index 25273a7..f8904f1 100644 --- a/providers/spot/dxcluster.py +++ b/providers/spot/dxcluster.py @@ -35,9 +35,7 @@ class DXCluster(SpotProvider): self._hostname = provider_config["host"] self._port = provider_config["port"] self._login_prompt = provider_config.get("login_prompt", "login:") - self._login_callsign = ( - provider_config.get("login_callsign", SERVER_OWNER_CALLSIGN) - ) + self._login_callsign = provider_config.get("login_callsign", SERVER_OWNER_CALLSIGN) self._allow_rbn_spots = provider_config.get("allow_rbn_spots", False) self._spot_line_pattern = ( self._LINE_PATTERN_ALLOW_RBN if self._allow_rbn_spots else self._LINE_PATTERN_EXCLUDE_RBN diff --git a/providers/spot/ukpacketnet.py b/providers/spot/ukpacketnet.py index 9a6b788..89cb09c 100644 --- a/providers/spot/ukpacketnet.py +++ b/providers/spot/ukpacketnet.py @@ -98,9 +98,7 @@ class UKPacketNet(HTTPSpotProvider): # data, and we can use that to look these up. for spot in new_spots: if spot.dx_call in nodes: - spot.dx_grid = ( - nodes[spot.dx_call]["location"].get("locator", None) - ) + spot.dx_grid = nodes[spot.dx_call]["location"].get("locator", None) spot.dx_latitude = nodes[spot.dx_call]["location"]["coords"]["lat"] spot.dx_longitude = nodes[spot.dx_call]["location"]["coords"]["lon"] diff --git a/server/handlers/api/options.py b/server/handlers/api/options.py index d4923b4..9fc3fb8 100644 --- a/server/handlers/api/options.py +++ b/server/handlers/api/options.py @@ -62,16 +62,24 @@ class APIOptionsHandler(tornado.web.RequestHandler): # Spot/alert sources are filtered for only ones that are enabled in config, no point letting the user toggle # things that aren't even available. - spot_providers: list = [p["name"] for p in filter(lambda p: p["enabled"], self._status_data["spot_providers"])] + spot_providers: list = [ + p["name"] for p in filter(lambda p: p["enabled"], self._status_data["spot_providers"]) + ] alert_providers = [p["name"] for p in filter(lambda p: p["enabled"], self._status_data["alert_providers"])] - callsign_data_providers = [p["name"] for p in filter( - lambda p: p["enabled"], - self._status_data["callsign_data_providers"], - )] - spot_providers_enabled_by_default = [p["name"] for p in filter( - lambda p: p["enabled"] and p["enabled_by_default_in_web_ui"], - self._status_data["spot_providers"], - )] + callsign_data_providers = [ + p["name"] + for p in filter( + lambda p: p["enabled"], + self._status_data["callsign_data_providers"], + ) + ] + spot_providers_enabled_by_default = [ + p["name"] + for p in filter( + lambda p: p["enabled"] and p["enabled_by_default_in_web_ui"], + self._status_data["spot_providers"], + ) + ] # If spotting to this server is enabled, "API" is another valid spot source even though it does not come from # one of our providers. diff --git a/server/handlers/api/v1_compatability.py b/server/handlers/api/v1_compatability.py index deb76b5..702c5db 100644 --- a/server/handlers/api/v1_compatability.py +++ b/server/handlers/api/v1_compatability.py @@ -1,7 +1,6 @@ import tornado from tornado.httpclient import AsyncHTTPClient from tornado.httputil import HTTPHeaders -from tornado.iostream import StreamClosedError class V1RedirectHandler(tornado.web.RequestHandler): diff --git a/templates/add_spot.html b/templates/add_spot.html index b163984..171a454 100644 --- a/templates/add_spot.html +++ b/templates/add_spot.html @@ -76,7 +76,7 @@ - + diff --git a/templates/alerts.html b/templates/alerts.html index eb36de5..dbd87b8 100644 --- a/templates/alerts.html +++ b/templates/alerts.html @@ -84,7 +84,7 @@ - + diff --git a/templates/bands.html b/templates/bands.html index b553c00..df355ee 100644 --- a/templates/bands.html +++ b/templates/bands.html @@ -76,8 +76,8 @@ - - + + diff --git a/templates/base.html b/templates/base.html index 9000c25..b14d88b 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,6 +1,6 @@ {% extends "skeleton.html" %} {% block head_extra %} - + @@ -15,10 +15,10 @@ window.fetchEventSource = fetchEventSource; - - - - + + + + {% end %} {% block body %}
diff --git a/templates/conditions.html b/templates/conditions.html index e6d9e59..46dbe00 100644 --- a/templates/conditions.html +++ b/templates/conditions.html @@ -284,7 +284,7 @@
- + diff --git a/templates/map.html b/templates/map.html index 4723190..0e13066 100644 --- a/templates/map.html +++ b/templates/map.html @@ -109,8 +109,8 @@ - - + + diff --git a/templates/spots.html b/templates/spots.html index 6d23d6d..7178c9d 100644 --- a/templates/spots.html +++ b/templates/spots.html @@ -113,8 +113,8 @@ - - + + diff --git a/templates/status.html b/templates/status.html index 406ebc1..66d4e23 100644 --- a/templates/status.html +++ b/templates/status.html @@ -86,7 +86,7 @@ - +