From f8349ca28a99eb46d707993a18aee169347dba12 Mon Sep 17 00:00:00 2001 From: Benjamin Hamon Date: Sat, 8 Nov 2025 16:28:40 +0100 Subject: [PATCH 1/4] Refactor metadata in flask configuration and fix website title localization --- .../application_factory.py | 24 +++++++++---------- .../templates/en/layout.html | 18 +++++++------- .../templates/fr/layout.html | 16 ++++++------- 3 files changed, 28 insertions(+), 30 deletions(-) diff --git a/Sources/website/benjaminhamon_developer_website/application_factory.py b/Sources/website/benjaminhamon_developer_website/application_factory.py index d2e3592..7819629 100644 --- a/Sources/website/benjaminhamon_developer_website/application_factory.py +++ b/Sources/website/benjaminhamon_developer_website/application_factory.py @@ -20,10 +20,6 @@ def create_application(flask_secret_key: str, metrics_token: str) -> Application: - title = "Benjamin Hamon's developer website" - sources_url = "https://github.com/BenjaminHamon/DeveloperWebsite" - contact_email = "development@benjaminhamon.com" - flask_application = flask.Flask("benjaminhamon_developer_website") flask_application.secret_key = flask_secret_key flask_application.config.update( @@ -39,7 +35,7 @@ def create_application(flask_secret_key: str, metrics_token: str) -> Application application = Application(flask_application) main_controller = MainController() - configure(flask_application, title, sources_url, contact_email) + configure(flask_application) register_handlers(flask_application, application) register_routes(flask_application, main_controller) prometheus_metrics.init_app(flask_application) @@ -47,13 +43,15 @@ def create_application(flask_secret_key: str, metrics_token: str) -> Application return application -def configure(application: flask.Flask, title: str, sources_url: str, contact_email: str) -> None: - application.config["WEBSITE_TITLE"] = title - application.config["WEBSITE_COPYRIGHT"] = benjaminhamon_developer_website.__copyright__ - application.config["WEBSITE_VERSION"] = benjaminhamon_developer_website.__version__ - application.config["WEBSITE_DATE"] = benjaminhamon_developer_website.__date__ - application.config["WEBSITE_SOURCES_URL"] = sources_url - application.config["WEBSITE_CONTACT_EMAIL"] = contact_email +def configure(application: flask.Flask) -> None: + application.config["METADATA"] = { + "product": benjaminhamon_developer_website.__product__, + "copyright": benjaminhamon_developer_website.__copyright__, + "version": benjaminhamon_developer_website.__version__, + "date": benjaminhamon_developer_website.__date__, + "sources_url": "https://github.com/BenjaminHamon/DeveloperWebsite", + "contact_email": "development@benjaminhamon.com", + } application.jinja_env.undefined = jinja2.StrictUndefined application.jinja_env.trim_blocks = True @@ -86,7 +84,7 @@ def add_url_rule(application: flask.Flask, path: str, methods: List[str], handle def versioned_url_for(endpoint: str, **values) -> str: if endpoint == "static": - values["version"] = flask.current_app.config["WEBSITE_VERSION"] + values["version"] = flask.current_app.config["METADATA"]["version"] return flask.url_for(endpoint, **values) diff --git a/Sources/website/benjaminhamon_developer_website/templates/en/layout.html b/Sources/website/benjaminhamon_developer_website/templates/en/layout.html index 0bce06a..2f623a7 100644 --- a/Sources/website/benjaminhamon_developer_website/templates/en/layout.html +++ b/Sources/website/benjaminhamon_developer_website/templates/en/layout.html @@ -1,4 +1,4 @@ -{# cspell:words stylesheet #} +{# cspell:words français stylesheet #} {% import 'macros.html' as shared_macros -%} @@ -6,7 +6,7 @@ - {{ title }} - {{ config['WEBSITE_TITLE'] }} + {{ title }} - Benjamin Hamon's developer website @@ -18,7 +18,7 @@