producteca 2.0.40__py3-none-any.whl → 2.0.42__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.
Potentially problematic release.
This version of producteca might be problematic. Click here for more details.
- producteca/products/products.py +21 -22
- {producteca-2.0.40.dist-info → producteca-2.0.42.dist-info}/METADATA +1 -1
- {producteca-2.0.40.dist-info → producteca-2.0.42.dist-info}/RECORD +6 -6
- {producteca-2.0.40.dist-info → producteca-2.0.42.dist-info}/LICENSE +0 -0
- {producteca-2.0.40.dist-info → producteca-2.0.42.dist-info}/WHEEL +0 -0
- {producteca-2.0.40.dist-info → producteca-2.0.42.dist-info}/entry_points.txt +0 -0
producteca/products/products.py
CHANGED
|
@@ -152,7 +152,7 @@ class ProductVariationBase(BaseModel):
|
|
|
152
152
|
|
|
153
153
|
class ProductVariation(ProductVariationBase):
|
|
154
154
|
category: Optional[str] = Field(default=None)
|
|
155
|
-
name: str
|
|
155
|
+
name: Optional[str] = None
|
|
156
156
|
|
|
157
157
|
|
|
158
158
|
class Shipping(BaseModel):
|
|
@@ -266,31 +266,30 @@ class ProductService(BaseService):
|
|
|
266
266
|
raise Exception(f"Error getting product {product_variation.sku} - {product_variation.code}\n {response.text}")
|
|
267
267
|
if response.status_code == 204:
|
|
268
268
|
raise Exception("Status code is 204, meaning nothing was updated or created")
|
|
269
|
+
|
|
270
|
+
_logger.info(f"response text: {response.text}")
|
|
269
271
|
response_data = response.json()
|
|
270
|
-
|
|
271
|
-
return Product(**response_data)
|
|
272
|
-
except ValidationError:
|
|
273
|
-
pass
|
|
272
|
+
_logger.debug(f"Response data: {response_data}")
|
|
274
273
|
if isinstance(response_data, list):
|
|
275
274
|
res = ListedSynchronizeResponse(results=response_data)
|
|
276
|
-
if
|
|
275
|
+
if res.results and hasattr(res.results[0], 'error_context') and res.results[0].error_context:
|
|
277
276
|
raise Exception(f"Errored while updating {res.results[0].error_context} {res.model_dump_json()}")
|
|
278
|
-
else
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
raise Exception(f"Unhandled
|
|
277
|
+
return res.results[0] if res.results else None
|
|
278
|
+
|
|
279
|
+
if isinstance(response_data, dict) and 'name' in response_data:
|
|
280
|
+
return Product(**response_data)
|
|
281
|
+
|
|
282
|
+
if isinstance(response_data, dict) and any(key in response_data for key in ['product', 'variation', 'statusCode']):
|
|
283
|
+
sync_resp = SynchronizeResponse(**response_data)
|
|
284
|
+
if sync_resp.error_context:
|
|
285
|
+
raise Exception(f"Errored while updating {sync_resp.error_context} - {sync_resp.model_dump_json()}")
|
|
286
|
+
return sync_resp
|
|
287
|
+
|
|
288
|
+
if isinstance(response_data, dict) and 'message' in response_data:
|
|
289
|
+
error_res = ErrorReason(**response_data)
|
|
290
|
+
raise Exception(f"Errored with the following message {error_res.message} - {error_res.model_dump_json()}")
|
|
291
|
+
|
|
292
|
+
raise Exception(f"Unhandled response format, check response {response.text}")
|
|
294
293
|
|
|
295
294
|
def get(self, product_id: int) -> "ProductService":
|
|
296
295
|
endpoint_url = self.config.get_endpoint(f'{self.endpoint}/{product_id}')
|
|
@@ -9,7 +9,7 @@ producteca/payments/payments.py,sha256=ac0X-QC4CGvxs40B_qWv0IepBVpj_nULNSNp8s3v5
|
|
|
9
9
|
producteca/payments/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
producteca/payments/tests/test_payments.py,sha256=wutk5zK2xRChTvKyTmi54Y_92PzNtUKZF6xWF298sFY,3032
|
|
11
11
|
producteca/products/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
-
producteca/products/products.py,sha256=
|
|
12
|
+
producteca/products/products.py,sha256=9A63QAwEYFDgO_NkoC6JnnRPrgeVEHMBlwsAeiWB6mc,13067
|
|
13
13
|
producteca/products/search_products.py,sha256=8qKPhwHWq-QzRc3-oZKlMaQQN4Et2iUWm4uxOGWXzFc,6172
|
|
14
14
|
producteca/products/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
producteca/products/tests/test_products.py,sha256=0Tph7T9D2XTLdTDoIpR2PcLTrvPt6h2LPuKowTXrDgU,5742
|
|
@@ -25,8 +25,8 @@ producteca/shipments/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
25
25
|
producteca/shipments/shipment.py,sha256=YokJRBX1ZbUtZVc4AOAB188rbHFO0_MH5hFv5U9Qpjw,844
|
|
26
26
|
producteca/shipments/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
27
|
producteca/shipments/tests/test_shipment.py,sha256=0edX3WM-t4nbp53r_Lvhtk_Suc2QCnIUQ27I90qSUfE,2512
|
|
28
|
-
producteca-2.0.
|
|
29
|
-
producteca-2.0.
|
|
30
|
-
producteca-2.0.
|
|
31
|
-
producteca-2.0.
|
|
32
|
-
producteca-2.0.
|
|
28
|
+
producteca-2.0.42.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
|
|
29
|
+
producteca-2.0.42.dist-info/METADATA,sha256=fmFY4q0OfEYdcLdyy8VmyrUyDl5FY37d_pNGHZvRwxs,3809
|
|
30
|
+
producteca-2.0.42.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
31
|
+
producteca-2.0.42.dist-info/entry_points.txt,sha256=BFSDFLbB70p8YVZPiU7HDJdj2VyyLdMVa4ekLQAUAVc,125
|
|
32
|
+
producteca-2.0.42.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|