Fix an issue where "spot providers enabled by default" was still being fetched through WEB_UI_OPTIONS on a path that required spot providers to have a "name" field in *config* rather than at runtime. Closes #124

This commit is contained in:
Ian Renton
2026-08-10 06:06:33 +01:00
parent d9ce8db48b
commit 7860b60f47
17 changed files with 32 additions and 42 deletions
+8 -2
View File
@@ -39,9 +39,14 @@ class APIOptionsHandler(tornado.web.RequestHandler):
"sigs": SIGS,
# 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_sources": list(
map(lambda p: p["name"], filter(lambda p: p["enabled"], self._status_data["spot_providers"]))),
map(lambda p: p["name"],
filter(lambda p: p["enabled"], self._status_data["spot_providers"]))),
"spot-providers-enabled-by-default": list(
map(lambda p: p["name"], filter(lambda p: p["enabled"] and p["enabled_by_default_in_web_ui"],
self._status_data["spot_providers"]))),
"alert_sources": list(
map(lambda p: p["name"], filter(lambda p: p["enabled"], self._status_data["alert_providers"]))),
map(lambda p: p["name"],
filter(lambda p: p["enabled"], self._status_data["alert_providers"]))),
"continents": CONTINENTS,
"propagation_modes": list(PROPAGATION_MODES.values()),
"max_spot_age": MAX_SPOT_AGE,
@@ -50,6 +55,7 @@ class APIOptionsHandler(tornado.web.RequestHandler):
# one of our proviers.
if ALLOW_SPOTTING:
options["spot_sources"].append("API")
options["spot-providers-enabled-by-default"].append("API")
self.write(safe_json_dumps(options))
self.set_status(200)