taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

commit a7441b2b253bebc89bafe783891ea23e53d94277
parent 746075b89cd5540a97ce0dd036c54ecb34fdf5c5
Author: Özgür Kesim <oec@codeblau.de>
Date:   Sun, 20 Apr 2025 17:47:19 +0200

[provision] fix empty dict, babel and redirect

Diffstat:
Mtalermerchantdemos/httpcommon/__init__.py | 2+-
Mtalermerchantdemos/provision/provision.py | 13+++++++------
2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/talermerchantdemos/httpcommon/__init__.py b/talermerchantdemos/httpcommon/__init__.py @@ -202,7 +202,7 @@ all_languages = { # @param add additional dictionary elements to add or overwrite # # @return the environment-reading function -def make_utility_processor(pagename, base_url, add=None): +def make_utility_processor(pagename, base_url, add={}): def utility_processor(): def getactive(): return pagename diff --git a/talermerchantdemos/provision/provision.py b/talermerchantdemos/provision/provision.py @@ -27,6 +27,7 @@ from flask_babel import gettext from werkzeug.middleware.proxy_fix import ProxyFix import os import time +import babel from datetime import datetime import traceback import re @@ -92,8 +93,8 @@ def get_locale(): return lang BABEL_TRANSLATION_DIRECTORIES = "../translations" -babel = Babel(app) -babel.localeselector(get_locale) +babbel = Babel(app) +babbel.localeselector(get_locale) config = load_taler_config() @@ -115,9 +116,9 @@ add_backend("bank") -LOGGER.info("Using translations from:" + ":".join(list(babel.translation_directories))) +LOGGER.info("Using translations from:" + ":".join(list(babbel.translation_directories))) LOGGER.info("currency: " + CURRENCY) -translations = [str(translation) for translation in babel.list_translations()] +translations = [str(translation) for translation in babbel.list_translations()] if not "en" in translations: translations.append("en") LOGGER.info( @@ -189,11 +190,11 @@ def internal_error(e): # Serve the main index page, redirecting to /<lang>/ # # @return response object of the index page. -@app.route(f"/{provision_prefix}") +@app.route(f"/{provision_prefix}/") def index(): default = "en" target = flask.request.accept_languages.best_match(translations, default) - return flask.redirect(url_for("index") + target + "/", code=302) + return flask.redirect(url_for("index") + "/"+ target + "/", code=302) ##