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.

@@ -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
- try:
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 any([r.error_context for r in res.results]):
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
- return res.results[0]
280
- else:
281
- try:
282
- sync_resp = SynchronizeResponse(**response_data)
283
- if sync_resp.error_context:
284
- raise Exception(f"Errored while updating {sync_resp.error_context} - {sync_resp.model_dump_json()}")
285
- else:
286
- return sync_resp
287
- except ValidationError:
288
- try:
289
- error_res = ErrorReason(**response_data)
290
- raise Exception(f"Errored with the following message {error_res.message} - {error_res.model_dump_json()}")
291
- except ValidationError:
292
- pass
293
- raise Exception(f"Unhandled error, check response {response.text}")
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}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: producteca
3
- Version: 2.0.40
3
+ Version: 2.0.42
4
4
  Summary:
5
5
  Author: Chroma Agency, Matias Rivera
6
6
  Author-email: mrivera@chroma.agency
@@ -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=IHM-lQ1VSGIqaUxgr5wKhT1rkFT6c2QAjnrefUOoEQg,12859
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.40.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
29
- producteca-2.0.40.dist-info/METADATA,sha256=-m4yt_B7JGPYuOeDKoVhCikbKOg5Vdv_G8_dISUi47I,3809
30
- producteca-2.0.40.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
31
- producteca-2.0.40.dist-info/entry_points.txt,sha256=BFSDFLbB70p8YVZPiU7HDJdj2VyyLdMVa4ekLQAUAVc,125
32
- producteca-2.0.40.dist-info/RECORD,,
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,,