fix ксе prices
Deploy / deploy (push) Successful in 55s

This commit is contained in:
Раис Юсупалиев
2026-06-27 16:45:58 +03:00
parent facdde00c9
commit e4d9b581a6
2 changed files with 97 additions and 1 deletions
+13 -1
View File
@@ -40,7 +40,9 @@ def map_cse_calc_response_for_tariff_code(
delivery_type, _, urgency = tariff_code.partition("|")
for tariff in _iter_tariffs(root):
if _tariff_urgency(tariff) == urgency:
return _map_tariff(tariff, delivery_type, delivery_type_label)
price = _map_tariff(tariff, delivery_type, delivery_type_label)
if price is not None:
return price
return None
@@ -62,6 +64,9 @@ def _map_tariff(
delivery_type: str,
delivery_type_label: str,
) -> DeliveryPrice | None:
if _is_additional_service_tariff(tariff):
return None
urgency = _tariff_urgency(tariff)
if not urgency:
return None
@@ -111,6 +116,13 @@ def _map_tariff(
raise CSEMappingError("CSE tariff fields have invalid values.") from exc
def _is_additional_service_tariff(tariff: Element) -> bool:
value = tariff.field_value("AdditionalService")
if value is None:
return False
return value.strip().lower() == "true"
def _to_int(value: str | None) -> int | None:
if value is None or value == "":
return None