From faaf2f29c1893c8351d1aa1e60ab795e55aa596c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Thu, 21 Mar 2024 16:55:01 +0100 Subject: [PATCH] Use duck typing to convert single UPS package into a list It seems that UPS has fixed its API such that it always returns a list for PackageResults but it is still better to test the actual result. Closes #13116 (grafted from 5aeb838f993f9d5e55c10a4b24f9ad6cd67eae55) --HG-- branch : 6.0 --- modules/stock_package_shipping_ups/stock.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/stock_package_shipping_ups/stock.py b/modules/stock_package_shipping_ups/stock.py index f46b238e39..43788737de 100644 --- a/modules/stock_package_shipping_ups/stock.py +++ b/modules/stock_package_shipping_ups/stock.py @@ -216,8 +216,8 @@ class CreateShippingUPS(Wizard): shipment_results = shipment_response['ShipmentResults'] shipment.reference = shipment_results['ShipmentIdentificationNumber'] ups_packages = shipment_results['PackageResults'] - if len(packages) == 1: - # In case only one package is requested UPS returns a dictionnary + if not isinstance(ups_packages, list): + # In case only one package is requested UPS may return a dictionary # instead of a list of one package ups_packages = [ups_packages]