diff --git a/delivery_stamps/models/delivery_stamps.py b/delivery_stamps/models/delivery_stamps.py index 7ec4de2c..18801906 100644 --- a/delivery_stamps/models/delivery_stamps.py +++ b/delivery_stamps/models/delivery_stamps.py @@ -5,6 +5,7 @@ from datetime import date from logging import getLogger from urllib.request import urlopen from suds import WebFault +from xml.sax._exceptions import SAXParseException from odoo import api, fields, models, _ from odoo.exceptions import ValidationError @@ -462,13 +463,18 @@ class ProviderStamps(models.Model): raise ValidationError(e) def stamps_rate_shipment_multi(self, order=None, picking=None, packages=None): - if not packages: - return self._stamps_rate_shipment_multi_package(order=order, picking=picking) - else: - rates = [] - for package in packages: - rates += self._stamps_rate_shipment_multi_package(order=order, picking=picking, package=package) - return rates + try: + if not packages: + return self._stamps_rate_shipment_multi_package(order=order, picking=picking) + else: + rates = [] + for package in packages: + rates += self._stamps_rate_shipment_multi_package(order=order, picking=picking, package=package) + return rates + except WebFault: + return [] + except SAXParseException: + return [] def _stamps_rate_shipment_multi_package(self, order=None, picking=None, package=None): self.ensure_one()