mpt-extension-sdk 4.5.0__py3-none-any.whl → 4.6.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mpt_extension_sdk/mpt_http/base.py +7 -0
- mpt_extension_sdk/mpt_http/mpt.py +15 -3
- mpt_extension_sdk/mpt_http/wrap_http_error.py +7 -0
- {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-4.6.1.dist-info}/METADATA +1 -1
- {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-4.6.1.dist-info}/RECORD +8 -8
- {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-4.6.1.dist-info}/WHEEL +0 -0
- {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-4.6.1.dist-info}/entry_points.txt +0 -0
- {mpt_extension_sdk-4.5.0.dist-info → mpt_extension_sdk-4.6.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -34,9 +34,9 @@ def _paginated(mpt_client, url, limit=10):
|
|
|
34
34
|
|
|
35
35
|
@wrap_mpt_http_error
|
|
36
36
|
def get_agreement(mpt_client, agreement_id):
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
)
|
|
37
|
+
"""Retrieve an agreement by ID."""
|
|
38
|
+
query = "select=seller,buyer,listing,product,subscriptions,assets,lines,parameters"
|
|
39
|
+
response = mpt_client.get(f"/commerce/agreements/{agreement_id}?{query}")
|
|
40
40
|
response.raise_for_status()
|
|
41
41
|
return response.json()
|
|
42
42
|
|
|
@@ -240,6 +240,18 @@ def get_template_by_name(mpt_client, product_id, template_name):
|
|
|
240
240
|
return templates["data"][0]
|
|
241
241
|
|
|
242
242
|
|
|
243
|
+
@wrap_mpt_http_error
|
|
244
|
+
def get_asset_template_by_name(mpt_client, product_id, template_name):
|
|
245
|
+
"""Retrieve an asset template by name."""
|
|
246
|
+
rql_filter = f"and(eq(type,Asset),eq(name,{template_name}))"
|
|
247
|
+
url = f"/catalog/products/{product_id}/templates?{rql_filter}&limit=1"
|
|
248
|
+
response = mpt_client.get(url)
|
|
249
|
+
response.raise_for_status()
|
|
250
|
+
|
|
251
|
+
templates = response.json()
|
|
252
|
+
return templates["data"][0] if templates["data"] else None
|
|
253
|
+
|
|
254
|
+
|
|
243
255
|
@wrap_mpt_http_error
|
|
244
256
|
def update_agreement(mpt_client, agreement_id, **kwargs):
|
|
245
257
|
response = mpt_client.put(
|
|
@@ -2,12 +2,17 @@ import json
|
|
|
2
2
|
from functools import wraps
|
|
3
3
|
|
|
4
4
|
from requests import HTTPError, JSONDecodeError
|
|
5
|
+
from requests.exceptions import RetryError
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
class MPTError(Exception):
|
|
8
9
|
pass
|
|
9
10
|
|
|
10
11
|
|
|
12
|
+
class MPTMaxRetryError(MPTError):
|
|
13
|
+
pass
|
|
14
|
+
|
|
15
|
+
|
|
11
16
|
class MPTHttpError(MPTError):
|
|
12
17
|
def __init__(self, status_code: int, content: str):
|
|
13
18
|
self.status_code = status_code
|
|
@@ -46,6 +51,8 @@ def wrap_mpt_http_error(func):
|
|
|
46
51
|
raise MPTAPIError(e.response.status_code, e.response.json())
|
|
47
52
|
except JSONDecodeError:
|
|
48
53
|
raise MPTHttpError(e.response.status_code, e.response.content.decode())
|
|
54
|
+
except RetryError as e:
|
|
55
|
+
raise MPTMaxRetryError(str(e))
|
|
49
56
|
|
|
50
57
|
return _wrapper
|
|
51
58
|
|
|
@@ -15,10 +15,10 @@ mpt_extension_sdk/flows/pipeline.py,sha256=3BO5X3jvuYnRTWrXRzImjVCVOCut8dSvkT2LZ
|
|
|
15
15
|
mpt_extension_sdk/key_vault/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
mpt_extension_sdk/key_vault/base.py,sha256=RVG_Wiq-MrPyngJ4gfUd8oxoh1LUop1SvtCM2xdlx8M,3361
|
|
17
17
|
mpt_extension_sdk/mpt_http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
-
mpt_extension_sdk/mpt_http/base.py,sha256=
|
|
19
|
-
mpt_extension_sdk/mpt_http/mpt.py,sha256=
|
|
18
|
+
mpt_extension_sdk/mpt_http/base.py,sha256=8-yZZMBXAPcTqODUlcMQ3JroeRxLbjl5irLco9w3pHs,1448
|
|
19
|
+
mpt_extension_sdk/mpt_http/mpt.py,sha256=Q7x-xHwnXJTrg9AvaJf1z1iZZNrgjayHrclLBh9Jnfo,16554
|
|
20
20
|
mpt_extension_sdk/mpt_http/utils.py,sha256=3wJTT84CXYGjZw6FksNDX8tIHijkL3Wcmld9r6Iz0xc,95
|
|
21
|
-
mpt_extension_sdk/mpt_http/wrap_http_error.py,sha256=
|
|
21
|
+
mpt_extension_sdk/mpt_http/wrap_http_error.py,sha256=_f366ZFEJ59hyWYVj_RjkVv-fe5sM0XvJBAy6iQCvqc,1964
|
|
22
22
|
mpt_extension_sdk/runtime/__init__.py,sha256=PQSAz9qvXHbxrn4KvuXSHB8y-A4Jpgbm6ZV-wPiNPyw,194
|
|
23
23
|
mpt_extension_sdk/runtime/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
24
24
|
mpt_extension_sdk/runtime/commands/django.py,sha256=j0UC9WKhaTi-sxwV4F-ZF3SE-657-Ucu_jEG0mIzJU4,1229
|
|
@@ -46,8 +46,8 @@ mpt_extension_sdk/runtime/workers.py,sha256=8KdI6neBEiMcc0zha8toCsZutvK2BhEXxb8N
|
|
|
46
46
|
mpt_extension_sdk/swo_rql/__init__.py,sha256=QrvRDYhpK-Pd3OF-U2aMeazuKm_kbvXwLRIjd9Mm6ok,104
|
|
47
47
|
mpt_extension_sdk/swo_rql/constants.py,sha256=39BZ78OzdU_dIQtoy-Z_5utXqEXRweIFvM9Zfxg9j5M,171
|
|
48
48
|
mpt_extension_sdk/swo_rql/query_builder.py,sha256=XAoMYV1jaAouYjpqrh8nMaDNzD0as-BhMx8rsvdeZ0k,10500
|
|
49
|
-
mpt_extension_sdk-4.
|
|
50
|
-
mpt_extension_sdk-4.
|
|
51
|
-
mpt_extension_sdk-4.
|
|
52
|
-
mpt_extension_sdk-4.
|
|
53
|
-
mpt_extension_sdk-4.
|
|
49
|
+
mpt_extension_sdk-4.6.1.dist-info/METADATA,sha256=IuAvY9iKVgxuuPV17qBuTiq8AQgnPVl5Wwtce5ewYKY,1708
|
|
50
|
+
mpt_extension_sdk-4.6.1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
51
|
+
mpt_extension_sdk-4.6.1.dist-info/entry_points.txt,sha256=8uZQihFseK4Kp5XWHl9EDYneg-CLS8BFO-ygp0h34nc,143
|
|
52
|
+
mpt_extension_sdk-4.6.1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
53
|
+
mpt_extension_sdk-4.6.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|