Fix dry-mode API failures and fast SIGTERM shutdown

This commit is contained in:
2026-02-13 01:36:53 +01:00
parent 68a3540e6d
commit b20eb713a1
3 changed files with 44 additions and 19 deletions

View File

@@ -36,13 +36,21 @@ class WebPortal:
@self.app.route("/api/status", methods=["GET"])
def status() -> Response:
self.network_manager.refresh_state()
return jsonify(self.state.snapshot())
try:
self.network_manager.refresh_state()
return jsonify(self.state.snapshot())
except Exception as exc:
self.state.update_status("Status update failed", str(exc))
return jsonify(self.state.snapshot()), 503
@self.app.route("/api/scan", methods=["POST", "GET"])
def scan() -> Response:
ssids = self.network_manager.scan_networks()
return jsonify({"ok": True, "ssids": ssids})
try:
ssids = self.network_manager.scan_networks()
return jsonify({"ok": True, "ssids": ssids})
except Exception as exc:
self.state.update_status("Scan failed", str(exc))
return jsonify({"ok": False, "ssids": [], "message": str(exc)}), 503
@self.app.route("/api/connect", methods=["POST"])
def connect() -> Response: