Skip to content

Commit 329197a

Browse files
committed
separate freight request creation from package
1 parent 429566a commit 329197a

File tree

3 files changed

+8
-27
lines changed

3 files changed

+8
-27
lines changed

purplship/mappers/ups/ups_mapper/__init__.py

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ class UPSMapper(
2626
def create_quote_request(
2727
self, payload: T.shipment_request
2828
) -> Union[PRate.RateRequest, Rate.FreightRateRequest]:
29-
return (
30-
self.create_freight_rate_request
31-
if _is_freight(payload)
32-
else self.create_package_rate_request
33-
)(payload)
29+
return self.create_package_rate_request(payload)
30+
31+
def create_freight_quote_request(
32+
self, payload: T.shipment_request
33+
) -> Union[PRate.RateRequest, Rate.FreightRateRequest]:
34+
return self.create_freight_rate_request(payload)
3435

3536
def create_tracking_request(
3637
self, payload: T.tracking_request
@@ -81,23 +82,3 @@ def parse_shipment_response(
8182
shipment if len(details) > 0 else None,
8283
self.parse_error_response(response),
8384
)
84-
85-
86-
def _is_freight(payload: T.shipment_request) -> bool:
87-
total_weight = Weight(
88-
payload.shipment.total_weight
89-
or reduce(lambda t, i: t + i.weight, payload.shipment.items, 0.0),
90-
WeightUnit[payload.shipment.weight_unit],
91-
).LB
92-
any_item_size_over_165 = any(
93-
[
94-
(
95-
Dimension(
96-
item.length or 0, DimensionUnit[payload.shipment.dimension_unit]
97-
).IN
98-
> 165
99-
)
100-
for item in payload.shipment.items
101-
]
102-
)
103-
return total_weight > 150 or any_item_size_over_165

tests/ups/quote.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def test_create_freight_quote_request(self):
5252
}
5353
payload = Quote.create(shipper=shipper, recipient=recipient, shipment=shipment)
5454

55-
FreightRateRequest_ = proxy.mapper.create_quote_request(payload)
55+
FreightRateRequest_ = proxy.mapper.create_freight_quote_request(payload)
5656
self.assertEqual(export(FreightRateRequest_), export(self.FreightRateRequest))
5757

5858
@patch("purplship.mappers.ups.ups_proxy.http", return_value="<a></a>")

tests/ups/shipment.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def setUp(self):
2323

2424
def test_create_freight_shipment_request(self):
2525
payload = Shipment.create(**freight_shipment_data)
26-
Shipment_ = proxy.mapper.create_shipment_request(payload)
26+
Shipment_ = proxy.mapper.create_freight_shipment_request(payload)
2727
self.assertEqual(export(Shipment_), export(self.FreightShipRequest))
2828

2929
def test_create_package_shipment_request(self):

0 commit comments

Comments
 (0)