summaryrefslogtreecommitdiff
path: root/talersurvey/survey/survey.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2018-02-01 07:34:20 +0100
committerFlorian Dold <florian.dold@gmail.com>2018-02-01 07:34:20 +0100
commit18ae5c327d1a1e069e4350c27b3f09b82c130a57 (patch)
tree84a953791fd636d3cd3ad364fed2a368b9fa41c7 /talersurvey/survey/survey.py
parent43c869bb943ba394a77d834dfa066d7c60183ba1 (diff)
downloadsurvey-18ae5c327d1a1e069e4350c27b3f09b82c130a57.tar.gz
survey-18ae5c327d1a1e069e4350c27b3f09b82c130a57.tar.bz2
survey-18ae5c327d1a1e069e4350c27b3f09b82c130a57.zip
add survey stats
Diffstat (limited to 'talersurvey/survey/survey.py')
-rw-r--r--talersurvey/survey/survey.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/talersurvey/survey/survey.py b/talersurvey/survey/survey.py
index c5b796c..c5b72b5 100644
--- a/talersurvey/survey/survey.py
+++ b/talersurvey/survey/survey.py
@@ -76,12 +76,33 @@ def backend_post(endpoint, json):
return response_json
+def backend_get(endpoint, params):
+ headers = {"Authorization": "ApiKey " + APIKEY}
+ try:
+ resp = requests.get(urljoin(BACKEND_URL, endpoint), params=params, headers=headers)
+ except requests.ConnectionError:
+ err_abort(500, message="Could not establish connection to backend")
+ try:
+ response_json = resp.json()
+ except ValueError:
+ err_abort(500, message="Could not parse response from backend")
+ if resp.status_code != 200:
+ err_abort(500, message="Backend returned error status",
+ json=response_json, status_code=resp.status_code)
+ return response_json
+
+
@app.errorhandler(Exception)
def internal_error(e):
return flask.render_template("templates/error.html",
message="Internal error",
stack=traceback.format_exc())
+@app.route("/survey-stats", methods=["GET"])
+def survey_stats(e):
+ stats = backend_get("tip-query", instance="default")
+ return flask.render_template("survey_stats.html", stats=stats)
+
@app.route("/submit-survey", methods=["POST"])
def submit_survey():