karrio-server-events 2025.5rc35__py3-none-any.whl → 2025.5rc36__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.
@@ -153,69 +153,28 @@ def save_updated_trackers(
153
153
  t for t in trackers if t.tracking_number == details.tracking_number
154
154
  ]
155
155
  for tracker in related_trackers:
156
- # update values only if changed; This is important for webhooks notification
157
- changes = []
158
- meta = details.meta or {}
156
+ # Compute status from tracking details
159
157
  status = utils.compute_tracking_status(details).value
160
- events = utils.process_events(
161
- response_events=details.events,
162
- current_events=tracker.events,
163
- )
158
+ # Merge options with existing tracker options
164
159
  options = {
165
160
  **(tracker.options or {}),
166
161
  tracker.tracking_number: details.meta,
167
162
  }
168
- info = lib.to_dict(details.info or {})
169
-
170
- if events != tracker.events:
171
- tracker.events = events
172
- changes.append("events")
173
-
174
- if options != tracker.options:
175
- tracker.options = options
176
- changes.append("options")
177
-
178
- if details.meta != tracker.meta:
179
- tracker.meta = meta
180
- changes.append("meta")
181
-
182
- if details.delivered != tracker.delivered:
183
- tracker.delivered = details.delivered
184
- changes.append("delivered")
185
-
186
- if status != tracker.status:
187
- tracker.status = status
188
- changes.append("status")
189
-
190
- if details.estimated_delivery != tracker.estimated_delivery:
191
- tracker.estimated_delivery = details.estimated_delivery
192
- changes.append("estimated_delivery")
193
-
194
- if details.images is not None and (
195
- details.images.delivery_image != tracker.delivery_image
196
- or details.images.signature_image != tracker.signature_image
197
- ):
198
- changes.append("delivery_image")
199
- changes.append("signature_image")
200
- tracker.delivery_image = (
201
- details.images.delivery_image or tracker.delivery_image
202
- )
203
- tracker.signature_image = (
204
- details.images.signature_image or tracker.signature_image
205
- )
206
-
207
- if any(info.keys()) and info != tracker.info:
208
- tracker.info = serializers.process_dictionaries_mutations(
209
- ["info"], dict(info=info), tracker
210
- )["info"]
211
- changes.append("info")
212
-
213
- if any(changes):
214
- tracker.save(update_fields=changes)
215
- serializers.update_shipment_tracker(tracker)
216
- logger.debug("Tracking info updated successfully", tracking_number=details.tracking_number, changes=changes)
217
- else:
218
- logger.debug("No changes detected", tracking_number=details.tracking_number)
163
+
164
+ # Use the centralized update_tracker function
165
+ serializers.update_tracker(
166
+ tracker,
167
+ dict(
168
+ events=details.events,
169
+ delivered=details.delivered,
170
+ status=status,
171
+ estimated_delivery=details.estimated_delivery,
172
+ options=options,
173
+ meta=details.meta,
174
+ info=lib.to_dict(details.info or {}),
175
+ images=details.images,
176
+ ),
177
+ )
219
178
 
220
179
  except Exception as update_error:
221
180
  logger.warning("Failed to update tracker", tracking_number=details.tracking_number, error=str(update_error))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: karrio_server_events
3
- Version: 2025.5rc35
3
+ Version: 2025.5rc36
4
4
  Summary: Multi-carrier shipping API Events module
5
5
  Author-email: karrio <hello@karrio.io>
6
6
  License-Expression: Apache-2.0
@@ -26,7 +26,7 @@ karrio/server/events/serializers/webhook.py,sha256=Ri5JS1SXpSsPUvQH989T_7Amu1p46
26
26
  karrio/server/events/task_definitions/__init__.py,sha256=bpT73UG7mZL_JjEqMwbYx6q69jA8J5Jcoul1LcDokhA,81
27
27
  karrio/server/events/task_definitions/base/__init__.py,sha256=3vP52gFdCo9hctLRKnYvEi9iz1UK8GL_a47Nw44h3Nc,1834
28
28
  karrio/server/events/task_definitions/base/archiving.py,sha256=HVUfgzTSsfa-o2u6N1VuyPopnVLdFRwvv-3ix5LjKHc,7270
29
- karrio/server/events/task_definitions/base/tracking.py,sha256=rSzNZiRGmchgJj81iSl9X6QXExsTfxegqTyfRkjOvPE,9111
29
+ karrio/server/events/task_definitions/base/tracking.py,sha256=3i4ArtrPLioVNcPICQiHPkXOpEayVCJqlMYHexWMchY,7081
30
30
  karrio/server/events/task_definitions/base/webhook.py,sha256=QNRq3xhLWQEbrs3zSy6Sa0AXUPhWE7YenKpPzZoFwL0,3616
31
31
  karrio/server/events/tests/__init__.py,sha256=5szv9hDvu0R0jtm3XWktY19rCaE8bZ2LdjRm4oJ0pYA,220
32
32
  karrio/server/events/tests/test_events.py,sha256=Fxi1hv_lyuRJw5Y_ydywhq5P3akpxet4mFMFSiHU96c,4066
@@ -39,7 +39,7 @@ karrio/server/graph/schemas/events/__init__.py,sha256=Yg1rWew5DgSb_OnLy8n7qqwPLf
39
39
  karrio/server/graph/schemas/events/inputs.py,sha256=Mgy9qCUrbL-sMI5dNXsnbW8K5_PnGKM13brzZrc5OWk,1526
40
40
  karrio/server/graph/schemas/events/mutations.py,sha256=930g2D5TnAEgEjfEfLml1Q9OGCyxe2D592BhzSGDQAQ,1862
41
41
  karrio/server/graph/schemas/events/types.py,sha256=TPlrDwQV4LZXu-1t4gFl_eYayU39THmgYT3uv7VXnnw,2759
42
- karrio_server_events-2025.5rc35.dist-info/METADATA,sha256=udp3Y8My2q74CuIdnd9qte8hrZ-rux6l_o3gjCQaREA,705
43
- karrio_server_events-2025.5rc35.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
- karrio_server_events-2025.5rc35.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
45
- karrio_server_events-2025.5rc35.dist-info/RECORD,,
42
+ karrio_server_events-2025.5rc36.dist-info/METADATA,sha256=3cWUxQ6QHNZtyeRohQmJ6U9gY509aq_-kRF2hM3omPI,705
43
+ karrio_server_events-2025.5rc36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
+ karrio_server_events-2025.5rc36.dist-info/top_level.txt,sha256=D1D7x8R3cTfjF_15mfiO7wCQ5QMtuM4x8GaPr7z5i78,12
45
+ karrio_server_events-2025.5rc36.dist-info/RECORD,,