From a3e6faefa6a254a757dda08a3e876da388ad9f8e Mon Sep 17 00:00:00 2001 From: MS Date: Thu, 23 Jul 2020 15:51:20 +0200 Subject: lint donations and survey --- talermerchantdemos/survey/survey.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'talermerchantdemos/survey/survey.py') diff --git a/talermerchantdemos/survey/survey.py b/talermerchantdemos/survey/survey.py index 0f24a16..52e4ede 100644 --- a/talermerchantdemos/survey/survey.py +++ b/talermerchantdemos/survey/survey.py @@ -21,15 +21,14 @@ import re import datetime import base64 import logging -import json from urllib.parse import urljoin import flask -import requests import traceback import qrcode import qrcode.image.svg import lxml.etree from taler.util.talerconfig import TalerConfig +from ..httpcommon import backend_get, backend_post BASE_DIR = os.path.dirname(os.path.abspath(__file__)) app = flask.Flask(__name__, template_folder=BASE_DIR) @@ -101,7 +100,7 @@ def favicon(): # in a prettified format. @app.route("/survey-stats", methods=["GET"]) def survey_stats(): - stats = backend_get(INSTANCED_URL, "tip-query") + stats = backend_get(INSTANCED_URL, "tip-query", params=dict()) return flask.render_template("templates/survey_stats.html", stats=stats) @@ -110,6 +109,14 @@ def get_qrcode_svg(data): img = qrcode.make(data, image_factory=factory) return lxml.etree.tostring(img.get_image()).decode("utf-8") +## +# Return a error response to the client. +# +# @param abort_status_code status code to return along the response. +# @param params _kw_ arguments to passed verbatim to the templating engine. +def err_abort(abort_status_code, **params): + t = flask.render_template("templates/error.html", **params) + flask.abort(flask.make_response(t, abort_status_code)) ## # Tell the backend to 'authorize' a tip; this means that @@ -127,7 +134,6 @@ def submit_survey(): justification="Payment methods survey" ) backend_resp = backend_post(INSTANCED_URL, "tip-authorize", tip_spec) - taler_tip_uri = backend_resp.get("taler_tip_uri") if taler_tip_uri: qrcode_svg = get_qrcode_svg(taler_tip_uri) @@ -139,8 +145,10 @@ def submit_survey(): headers = {"Taler": taler_tip_uri} return flask.Response(content, status=402, headers=headers) - err_abort( - 500, message="Tipping failed, unexpected backend response", json=resp + return err_abort( + 500, + message="Tipping failed, unexpected backend response", + json=backend_resp ) -- cgit v1.2.3