diff --git a/backend/src/utilities/packet_tracker.py b/backend/src/utilities/packet_tracker.py index f5dbe4b..a83973a 100644 --- a/backend/src/utilities/packet_tracker.py +++ b/backend/src/utilities/packet_tracker.py @@ -470,13 +470,15 @@ class PacketTracker: ingress_iface = ingress_observation.get("iface") ingress_timestamp = ingress_observation.get("timestamp") - if ingress_iface and payload.get("ingress_if") in {None, ""}: + if ingress_iface and payload.get("ingress_if") != ingress_iface: payload["ingress_if"] = ingress_iface changed = True - if ingress_timestamp and payload.get("ingress_seen_at") is None: + if ingress_timestamp: try: - payload["ingress_seen_at"] = datetime.fromisoformat(str(ingress_timestamp)) - changed = True + parsed_ingress_seen_at = datetime.fromisoformat(str(ingress_timestamp)) + if payload.get("ingress_seen_at") != parsed_ingress_seen_at: + payload["ingress_seen_at"] = parsed_ingress_seen_at + changed = True except Exception: pass @@ -485,13 +487,15 @@ class PacketTracker: egress_iface = egress_observation.get("iface") egress_timestamp = egress_observation.get("timestamp") - if egress_iface and payload.get("egress_if") in {None, ""}: + if egress_iface and payload.get("egress_if") != egress_iface: payload["egress_if"] = egress_iface changed = True - if egress_timestamp and payload.get("egress_seen_at") is None: + if egress_timestamp: try: - payload["egress_seen_at"] = datetime.fromisoformat(str(egress_timestamp)) - changed = True + parsed_egress_seen_at = datetime.fromisoformat(str(egress_timestamp)) + if payload.get("egress_seen_at") != parsed_egress_seen_at: + payload["egress_seen_at"] = parsed_egress_seen_at + changed = True except Exception: pass