[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-blog] branch master updated: delete article from cac
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-blog] branch master updated: delete article from cache after refund |
Date: |
Fri, 19 Jan 2018 01:43:05 +0100 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository blog.
The following commit(s) were added to refs/heads/master by this push:
new dccc33d delete article from cache after refund
dccc33d is described below
commit dccc33da066801b7074e9541e7fcb040c61ece76
Author: Florian Dold <address@hidden>
AuthorDate: Fri Jan 19 01:42:59 2018 +0100
delete article from cache after refund
---
talerblog/blog/blog.py | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/talerblog/blog/blog.py b/talerblog/blog/blog.py
index d0e0b09..7d11294 100644
--- a/talerblog/blog/blog.py
+++ b/talerblog/blog/blog.py
@@ -110,6 +110,12 @@ def javascript_licensing():
return flask.render_template("templates/javascript.html")
+# Cache for paid articles (in the form <session_id>-<article_name>), so we
+# don't always have to ask the backend / DB, and so we don't have to store
+# variable-size cookies on the client.
+paid_articles_cache = SimpleCache()
+
+
# Triggers the refund by serving /refund/test?order_id=XY.
# Will be triggered by a "refund button".
@app.route("/refund/<order_id>", methods=["POST"])
@@ -127,9 +133,16 @@ def refund(order_id):
instance=INSTANCE,
)
resp = backend_post("refund", refund_spec)
- if resp.get("refund_redirect_url"):
- return flask.redirect(resp["refund_redirect_url"])
- err_abort(500, message="Response from backend incomplete", json=resp)
+ try:
+ # delete from paid article cache
+ article_name = refund_spec["contract_terms"]["extra"]["article_name"]
+ session_id = flask.session.get("session_id", "")
+ paid_articles_cache.delete(session_id + "-" + article_name)
+ if resp.get("refund_redirect_url"):
+ return flask.redirect(resp["refund_redirect_url"])
+ except KeyError:
+ err_abort(500, message="Response from backend incomplete", json=resp)
+
def render_article(article_name, data, order_id):
@@ -150,12 +163,6 @@ def render_article(article_name, data, order_id):
order_id=order_id)
-# Cache for paid articles (in the form <session_id>-<article_name>), so we
-# don't always have to ask the backend / DB, and so we don't have to store
-# variable-size cookies on the client.
-paid_articles_cache = SimpleCache()
-
-
@app.route("/essay/<article_name>")
@app.route("/essay/<article_name>/data/<data>")
def article(article_name, data=None):
@@ -196,6 +203,7 @@ def article(article_name, data=None):
resource_url=flask.request.base_url,
session_id=session_id,
session_sig=session_sig,
+ extra=dict(article_name=article_name)
)
pay_status = backend_get("check-payment", pay_params)
--
To stop receiving notification emails like this one, please contact
address@hidden
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-blog] branch master updated: delete article from cache after refund,
gnunet <=