karrio-canadapost 2025.5rc4__py3-none-any.whl → 2025.5rc6__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.
@@ -39,11 +39,13 @@ def _extract_details(
39
39
  service = provider_units.ServiceType.map(quote.service_code)
40
40
 
41
41
  adjustments = getattr(quote.price_details.adjustments, "adjustment", [])
42
+ options = getattr(quote.price_details.options, "option", [])
42
43
  charges = [
43
44
  ("Base charge", quote.price_details.base),
44
45
  ("GST", quote.price_details.taxes.gst.valueOf_),
45
46
  ("PST", quote.price_details.taxes.pst.valueOf_),
46
47
  ("HST", quote.price_details.taxes.hst.valueOf_),
48
+ *((o.option_name, o.option_price) for o in options),
47
49
  *((a.adjustment_name, a.adjustment_cost) for a in adjustments),
48
50
  ]
49
51
 
@@ -45,6 +45,20 @@ def _extract_shipment(
45
45
  response, label = _response
46
46
  info = lib.to_object(canadapost.ShipmentInfoType, response)
47
47
 
48
+ base_amount = lib.failsafe(lambda: info.shipment_price.base_amount)
49
+ service_code = lib.failsafe(lambda: info.shipment_price.service_code)
50
+ service = provider_units.ServiceType.map(service_code)
51
+ adjustments = getattr(info.shipment_price.adjustments, "adjustment", [])
52
+ priced_options = getattr(info.shipment_price.priced_options, "priced_option", [])
53
+ charges = [
54
+ ("Base charge", info.shipment_price.base_amount),
55
+ ("GST", info.shipment_price.gst_amount),
56
+ ("PST", info.shipment_price.pst_amount),
57
+ ("HST", info.shipment_price.hst_amount),
58
+ *((f"Option {o.option_code}", o.option_price) for o in priced_options),
59
+ *((a.adjustment_code, a.adjustment_amount) for a in adjustments),
60
+ ]
61
+
48
62
  return models.ShipmentDetails(
49
63
  carrier_name=settings.carrier_name,
50
64
  carrier_id=settings.carrier_id,
@@ -52,6 +66,24 @@ def _extract_shipment(
52
66
  shipment_identifier=info.shipment_id,
53
67
  docs=models.Documents(label=label),
54
68
  label_type=ctx["label_type"],
69
+ selected_rate=lib.identity(
70
+ models.RateDetails(
71
+ carrier_id=settings.carrier_id,
72
+ carrier_name=settings.carrier_name,
73
+ service=service.name_or_key,
74
+ total_charge=lib.to_money(base_amount),
75
+ currency="CAD",
76
+ extra_charges=lib.identity([
77
+ models.ChargeDetails(name=name, amount=lib.to_money(amount), currency="CAD")
78
+ for name, amount in charges
79
+ if amount and lib.to_money(amount) != 0
80
+ ]),
81
+ meta=dict(
82
+ service_name=(service.name or service_code),
83
+ ),
84
+ )
85
+ if base_amount is not None else None
86
+ ),
55
87
  meta=lib.to_dict(
56
88
  dict(
57
89
  carrier_tracking_link=settings.tracking_url.format(info.tracking_pin),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karrio_canadapost
3
- Version: 2025.5rc4
3
+ Version: 2025.5rc6
4
4
  Summary: Karrio - Canada Post Shipping Extension
5
5
  Author-email: karrio <hello@karrio.io>
6
6
  License-Expression: Apache-2.0
@@ -6,7 +6,7 @@ karrio/plugins/canadapost/__init__.py,sha256=H2AnAPrkvQmfVdtSBumzOnjwnrym_YWU-4z
6
6
  karrio/providers/canadapost/__init__.py,sha256=3UB1PI83_GZt2e0mQf_9lIye1vXjUwuMH-_sUkqIFNk,791
7
7
  karrio/providers/canadapost/error.py,sha256=xkNQE4kj-MvACCxQUHoI7Xj-JiofFHIL4eFOIsJZ3Tg,1185
8
8
  karrio/providers/canadapost/manifest.py,sha256=8kX-1CV_5JAjp978s_eHy4HlHqkcpkbG0bRclkyGqBc,4674
9
- karrio/providers/canadapost/rate.py,sha256=UVoYywTp2pKR4tjwBhDKki1DiBrnSgPrzuvaPQxfS7k,7135
9
+ karrio/providers/canadapost/rate.py,sha256=35tGjUjtF2AwPSv8RWfbHGDFHvQ5Eg2OoTLny30UFC8,7261
10
10
  karrio/providers/canadapost/tracking.py,sha256=2sNwMIYUblEq5RnXCTnx-79fNi6lYvM6_cWQ13TTVco,2785
11
11
  karrio/providers/canadapost/units.py,sha256=TK818HHOgQ8Lc28dSF3y-jmXNiOHIcKooPI_NJDQe7c,8345
12
12
  karrio/providers/canadapost/utils.py,sha256=xoRVwEjDmdJ8qg-88WYmz-0zGTzQC1i8D-U_9J7G09s,2515
@@ -16,7 +16,7 @@ karrio/providers/canadapost/pickup/create.py,sha256=eGCmgWyB-SVHu90cbgqp-kAUAaZN
16
16
  karrio/providers/canadapost/pickup/update.py,sha256=S0SfblN6LPkSl_1SyVmuELJIqOPEuKLFFzwYU3fs0K0,1675
17
17
  karrio/providers/canadapost/shipment/__init__.py,sha256=kITqJglgqlnoHrBdCr8iQXugr0PfZwaoTK9kiuYlkGQ,236
18
18
  karrio/providers/canadapost/shipment/cancel.py,sha256=azNFDNXX5TxSyjngUYHnkoVmo4-b5qb8QP2Yc0x4PD0,1684
19
- karrio/providers/canadapost/shipment/create.py,sha256=78GXM7Ct1vwAhoRl014A_GGzkaSREcNCuWry-yqfNjs,13169
19
+ karrio/providers/canadapost/shipment/create.py,sha256=g5nqQr7Nx9JmkyplDx0w-Tx-ksoN_8agvus4WEijGig,14675
20
20
  karrio/schemas/canadapost/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  karrio/schemas/canadapost/authreturn.py,sha256=DpOU6ppwh2iLTJn7qJWQGEaKe4Gkmq59SFy7VfFY7hM,160774
22
22
  karrio/schemas/canadapost/common.py,sha256=vaVx71XSzmbLEq7_I6en5fpPFHWXeRaOPo8tfvPMJiQ,88947
@@ -34,8 +34,8 @@ karrio/schemas/canadapost/rating.py,sha256=Iaoagbm6L6A62GwI4PRB_2ZGZ1WpIbtogn9vg
34
34
  karrio/schemas/canadapost/serviceinfo.py,sha256=gV0CYy7rcoTcVOYmKL9nLCqdVeQVERK8_vNvk9jn8eM,60134
35
35
  karrio/schemas/canadapost/shipment.py,sha256=5xbnYyC8Mufsv2DJ11wk45yx1e2fK84UO-_3SSt5i-k,525576
36
36
  karrio/schemas/canadapost/track.py,sha256=Va7-OB0sztIz9pu0VaTKaNDMUVPC1AXCTPDePdyX84Q,150548
37
- karrio_canadapost-2025.5rc4.dist-info/METADATA,sha256=fBulXlCn8EYC4s-N38AJ0DChYenBrEIGA65f4Qm4PxA,1019
38
- karrio_canadapost-2025.5rc4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
39
- karrio_canadapost-2025.5rc4.dist-info/entry_points.txt,sha256=dU9l-mw14-Lg7pHChydFReVeE2OV8wwOM15AQQkbhvw,65
40
- karrio_canadapost-2025.5rc4.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
41
- karrio_canadapost-2025.5rc4.dist-info/RECORD,,
37
+ karrio_canadapost-2025.5rc6.dist-info/METADATA,sha256=0Yfncdb6RSJu_Dy6P26B62j9sgHgqJxlyuB2V7epl48,1019
38
+ karrio_canadapost-2025.5rc6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
39
+ karrio_canadapost-2025.5rc6.dist-info/entry_points.txt,sha256=dU9l-mw14-Lg7pHChydFReVeE2OV8wwOM15AQQkbhvw,65
40
+ karrio_canadapost-2025.5rc6.dist-info/top_level.txt,sha256=FZCY8Nwft8oEGHdl--xku8P3TrnOxu5dETEU_fWpRSM,20
41
+ karrio_canadapost-2025.5rc6.dist-info/RECORD,,