feat(web_server.py): use socketio

This commit is contained in:
2025-08-26 19:42:03 +02:00
parent 84ce50963b
commit 9f74246157

View File

@@ -7,6 +7,7 @@ from typing import TYPE_CHECKING
from flask import Flask from flask import Flask
from flask_login import LoginManager from flask_login import LoginManager
from flask_socketio import SocketIO
from judas_server.web.user import load_user from judas_server.web.user import load_user
@@ -37,6 +38,8 @@ class JudasWebServer:
# extensions # extensions
self.login_manager: LoginManager = LoginManager() self.login_manager: LoginManager = LoginManager()
self.socketio: SocketIO = SocketIO(self.app, cors_allowed_origins="*")
self.configure_extensions() self.configure_extensions()
self.init_routes() self.init_routes()
@@ -50,13 +53,20 @@ class JudasWebServer:
def init_routes(self) -> None: def init_routes(self) -> None:
self.logger.debug("Initializing routes...") self.logger.debug("Initializing routes...")
from judas_server.web.routes import auth_bp, index_bp, panel_bp from judas_server.web.routes import (
auth_bp,
index_bp,
panel_bp,
api,
)
self.app.register_blueprint(index_bp) self.app.register_blueprint(index_bp)
self.app.register_blueprint(auth_bp) self.app.register_blueprint(auth_bp)
self.app.register_blueprint(panel_bp) self.app.register_blueprint(panel_bp)
self.app.register_blueprint(api.bp)
api.emit_polled_data(self.app, self.socketio)
def run(self, host: str = "0.0.0.0", port: int = 5000) -> None: def run(self, host: str = "0.0.0.0", port: int = 5000) -> None:
self.logger.info(f"Starting web server on {host}:{port}...") self.logger.info(f"Starting web server on {host}:{port}...")
self.app.run(host=host, port=port) self.socketio.run(app=self.app, host=host, port=port)
self.logger.info("Server stopped.") self.logger.info("Server stopped.")