From b5323d0cd3b6ae96a666364dd0c47dea7e019ab5 Mon Sep 17 00:00:00 2001 From: Daniel Markstedt Date: Wed, 25 Oct 2023 19:35:15 +0900 Subject: [PATCH] Bump to Flask 3 / Werkzeug 3 --- python/web/requirements.txt | 6 +++--- python/web/src/web.py | 34 +++++++++++++++++----------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/python/web/requirements.txt b/python/web/requirements.txt index a11d5f40..ed6efd1d 100644 --- a/python/web/requirements.txt +++ b/python/web/requirements.txt @@ -1,10 +1,10 @@ bjoern==3.2.2 -Flask==2.3.3 +Flask==3.0.0 Jinja2==3.1.2 protobuf==3.20.2 requests==2.31.0 simplepam==0.1.5 -flask_babel==2.0.0 +flask_babel==4.0.0 ua-parser==0.16.1 vcgencmd==0.1.1 -werkzeug==2.3.7 +werkzeug==3.0.1 diff --git a/python/web/src/web.py b/python/web/src/web.py index 6829b3d4..d11a3934 100644 --- a/python/web/src/web.py +++ b/python/web/src/web.py @@ -74,8 +74,25 @@ from settings import ( ) +def get_locale(): + """ + Uses the session language, or tries to detect based on accept-languages header + """ + session_locale = session.get("language") + if session_locale: + return session_locale + + client_locale = request.accept_languages.best_match(LANGUAGES) + if client_locale: + return client_locale + + logging.info("The default locale could not be detected. Falling back to English.") + return "en" + + APP = Flask(__name__) BABEL = Babel(APP) +BABEL.init_app(APP, locale_selector=get_locale) def get_env_info(): @@ -185,23 +202,6 @@ def response( return redirect(url_for("index")) -@BABEL.localeselector -def get_locale(): - """ - Uses the session language, or tries to detect based on accept-languages header - """ - session_locale = session.get("language") - if session_locale: - return session_locale - - client_locale = request.accept_languages.best_match(LANGUAGES) - if client_locale: - return client_locale - - logging.info("The default locale could not be detected. Falling back to English.") - return "en" - - def get_supported_locales(): """ Returns a list of languages supported by the web UI