diff options
author | MS <ms@taler.net> | 2022-11-02 11:20:44 +0100 |
---|---|---|
committer | MS <ms@taler.net> | 2022-11-02 11:20:44 +0100 |
commit | a80b6a5d8eada7c9d17bcc5964dd6ce3ac1478f2 (patch) | |
tree | 91f2cd7811bf62760c004f10f1f38b49c23c2b8a /talermerchantdemos/landing | |
parent | 106f4efd54df8155130af9a2b1f4ff78376e4266 (diff) | |
download | taler-merchant-demos-a80b6a5d8eada7c9d17bcc5964dd6ce3ac1478f2.tar.gz taler-merchant-demos-a80b6a5d8eada7c9d17bcc5964dd6ce3ac1478f2.tar.bz2 taler-merchant-demos-a80b6a5d8eada7c9d17bcc5964dd6ce3ac1478f2.zip |
i18n
manage unsupported languages
Diffstat (limited to 'talermerchantdemos/landing')
-rw-r--r-- | talermerchantdemos/landing/landing.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/talermerchantdemos/landing/landing.py b/talermerchantdemos/landing/landing.py index b5142d6..23d11e8 100644 --- a/talermerchantdemos/landing/landing.py +++ b/talermerchantdemos/landing/landing.py @@ -23,6 +23,7 @@ import base64 import logging import flask import uwsgi +import werkzeug from flask import request, url_for from flask_babel import Babel from flask_babel import refresh @@ -128,6 +129,12 @@ def index(): @app.route("/<lang>/", methods=["GET"]) def start(lang): + # get_locale defaults to english, hence the + # condition below happens only when lang is + # wrong or unsupported, respond 404. + if lang != get_locale(): + raise werkzeug.exceptions.NotFound() + if x := os.environ.get("TALER_ENV_URL_BANK"): bank_url = "/".join([x.strip("/"), f"?lang={lang}"]) bank_register_url = bank_url @@ -162,7 +169,8 @@ def start(lang): ) -@app.errorhandler(404) +@app.errorhandler(404) # How to trigger this? +@app.errorhandler(werkzeug.exceptions.NotFound) def handler_404(e): return flask.render_template( "landing-error.html.j2", |