summaryrefslogtreecommitdiff
path: root/talermerchantdemos/landing
diff options
context:
space:
mode:
authorMS <ms@taler.net>2022-11-02 11:20:44 +0100
committerMS <ms@taler.net>2022-11-02 11:20:44 +0100
commita80b6a5d8eada7c9d17bcc5964dd6ce3ac1478f2 (patch)
tree91f2cd7811bf62760c004f10f1f38b49c23c2b8a /talermerchantdemos/landing
parent106f4efd54df8155130af9a2b1f4ff78376e4266 (diff)
downloadtaler-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.py10
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",