diff options
author | Sebastian <sebasjm@gmail.com> | 2023-07-10 11:46:47 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-07-10 11:46:47 -0300 |
commit | 4a526409d21be191b3e4d3f0500be4ad43ea7d8c (patch) | |
tree | e0b7379cb8ca23fc4ffc87fe8fc22f8f3b4be45e /talermerchantdemos/blog/blog.py | |
parent | d75a8c3e63b2da57468f56bf7d7841a7dc78e30d (diff) | |
download | taler-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.py | 19 |
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": |