commit f794a4eea4853aba015dfa2efa6b75a806c84b22
parent f2ea1b9d5ba4dd3720417a2fdbccc03c06506efd
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 7 Sep 2022 15:18:00 +0200
-try with url_for
Diffstat:
3 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/talermerchantdemos/donations/donations.py b/talermerchantdemos/donations/donations.py
@@ -20,7 +20,7 @@
import base64
import logging
import flask
-from flask import request
+from flask import request, url_for
from flask_babel import Babel
from flask_babel import refresh
from flask_babel import force_locale
@@ -32,7 +32,7 @@ import traceback
import urllib
from taler.util.talerconfig import TalerConfig, ConfigurationError
from urllib.parse import urljoin
-from ..httpcommon import backend_post, backend_get, make_utility_processor, get_locale, get_app_root
+from ..httpcommon import backend_post, backend_get, make_utility_processor, get_locale
import sys
if not sys.version_info.major == 3 and sys.version_info.minor >= 6:
@@ -160,7 +160,7 @@ def favicon():
def index():
default = "en"
target = flask.request.accept_languages.best_match(translations, default)
- return flask.redirect(get_app_root() + "/" + target + "/", code=302)
+ return flask.redirect(url_for ('index') + target + "/", code=302)
##
diff --git a/talermerchantdemos/httpcommon/__init__.py b/talermerchantdemos/httpcommon/__init__.py
@@ -1,7 +1,7 @@
import flask
import requests
from urllib.parse import urljoin
-from flask import request
+from flask import request, url_for
from datetime import datetime
import time
from flask_babel import gettext
@@ -195,11 +195,7 @@ def make_utility_processor(pagename):
getlang=getlang,
all_languages=all_languages,
static=static,
- script_name=get_app_root(),
+ script_name=url_for('index'),
)
return utility_processor
-
-# Ask the env the value of X-Forwarded-Prefix.
-def get_app_root():
- return flask.request.environ.get("SCRIPT_NAME", "")
diff --git a/talermerchantdemos/landing/landing.py b/talermerchantdemos/landing/landing.py
@@ -22,7 +22,7 @@ import datetime
import base64
import logging
import flask
-from flask import request
+from flask import request, url_for
from flask_babel import Babel
from flask_babel import refresh
from flask_babel import force_locale
@@ -31,7 +31,6 @@ from werkzeug.middleware.proxy_fix import ProxyFix
import traceback
from taler.util.talerconfig import TalerConfig, ConfigurationError
from ..httpcommon import (
- get_app_root,
backend_get,
backend_post,
self_localized,
@@ -120,7 +119,7 @@ def favicon():
def index():
default = "en"
target = flask.request.accept_languages.best_match(translations, default)
- return flask.redirect(get_app_root() + "/" + target + "/", code=302)
+ return flask.redirect(url_for ('index') + target + "/", code=302)
##
# Serve the internationalized main index page.