From 07b63c16ae5146ff6e1da9e44055c8d4ab0b8050 Mon Sep 17 00:00:00 2001 From: mchadwick-iqt <69815560+mchadwick-iqt@users.noreply.github.com> Date: Thu, 30 May 2024 15:37:20 -0400 Subject: [PATCH] Update to Ledger to accomodate Balloons and Mutliple Concurrent Feeds --- object-ledger/object_ledger_pub_sub.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/object-ledger/object_ledger_pub_sub.py b/object-ledger/object_ledger_pub_sub.py index f5a8785..c9bd357 100644 --- a/object-ledger/object_ledger_pub_sub.py +++ b/object-ledger/object_ledger_pub_sub.py @@ -232,6 +232,12 @@ def _state_callback( state["object_type"] = "ship" state["track"] = state["course"] + elif "Radiosonde" in data: + logging.debug(f"Processing AIS state message data: {data}") + state = json.loads(data["Radiosonde"]) + state["object_id"] = state["sonde_serial"] + state["object_type"] = "balloon" + else: logging.debug(f"Skipping state message data: {data}") return @@ -255,11 +261,13 @@ def _state_callback( ) else: - logging.debug( - f"Updating entry state data for object id: {entry.index}" - ) - self.ledger.update(entry) - + if (entry['timestamp'] - self.ledger.loc[entry.index, 'timestamp']).iloc[0] > 0: + self.ledger.update(entry) + logging.debug(f"Updating entry state data for object id: {entry.index[0]} | {(entry['timestamp'] - self.ledger.loc[entry.index, 'timestamp']).iloc[0]} newer than ledger") + #logging.info( + # f"Index: {entry.index[0]} | Time Delta (seconds): {(entry['timestamp'] - self.ledger.loc[entry.index, 'timestamp']).iloc[0]} | " + # f"New Time: {entry['timestamp'].iloc[0]} | Ledger Time: {self.ledger.loc[entry.index, 'timestamp'].iloc[0]}" + #) else: logging.debug(f"Invalid entry: {entry}")