summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/blog.py
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-07-10 11:46:47 -0300
committerSebastian <sebasjm@gmail.com>2023-07-10 11:46:47 -0300
commit4a526409d21be191b3e4d3f0500be4ad43ea7d8c (patch)
treee0b7379cb8ca23fc4ffc87fe8fc22f8f3b4be45e /talermerchantdemos/blog/blog.py
parentd75a8c3e63b2da57468f56bf7d7841a7dc78e30d (diff)
downloadtaler-merchant-demos-4a526409d21be191b3e4d3f0500be4ad43ea7d8c.tar.gz
taler-merchant-demos-4a526409d21be191b3e4d3f0500be4ad43ea7d8c.tar.bz2
taler-merchant-demos-4a526409d21be191b3e4d3f0500be4ad43ea7d8c.zip
if the order was not found, create one
Diffstat (limited to 'talermerchantdemos/blog/blog.py')
-rw-r--r--talermerchantdemos/blog/blog.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py
index a0761b4..5784ab1 100644
--- a/talermerchantdemos/blog/blog.py
+++ b/talermerchantdemos/blog/blog.py
@@ -38,6 +38,7 @@ from taler.util.talerconfig import TalerConfig, ConfigurationError
from ..blog.content import ARTICLES, get_article_file, get_image_file
from talermerchantdemos.httpcommon import (
backend_get,
+ backend_get_with_status,
backend_post,
self_localized,
Deadline,
@@ -406,12 +407,28 @@ def article(article_name, lang=None, data=None):
order_id = order_resp["order_id"]
# Ask the backend for the status of the payment.
- pay_status = backend_get(
+ status, pay_status = backend_get_with_status(
BACKEND_URL,
f"private/orders/{order_id}",
params=dict(session_id=session_id),
auth_token=APIKEY,
)
+
+ if status == 404:
+ order_resp = post_order(article_name, lang)
+ order_id = order_resp["order_id"]
+ pay_status = backend_get(
+ BACKEND_URL,
+ f"private/orders/{order_id}",
+ params=dict(session_id=session_id),
+ auth_token=APIKEY,
+ )
+ elif status != 200:
+ raise BackendException(
+ message=gettext("Backend returned error status"),
+ backend_status=status,
+ backend_json=pay_status,
+ )
order_status = pay_status.get("order_status")
if order_status == "claimed":