From 1e2171bcc142fb48c14df6358b3bd8feade00f5c Mon Sep 17 00:00:00 2001 From: prabathbr <60564552+prabathbr@users.noreply.github.com> Date: Sat, 10 Jan 2026 13:54:49 +1100 Subject: [PATCH] added STATUS filtering and show on map pattern lat,long Added STATUS filtering and show on map pattern lat, long --- examples/serial_rss_bot.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/examples/serial_rss_bot.py b/examples/serial_rss_bot.py index 5a36fea..5106380 100644 --- a/examples/serial_rss_bot.py +++ b/examples/serial_rss_bot.py @@ -33,6 +33,11 @@ FIELDS_TO_SEND = [ "Size", ] +BLOCKED_STATUSES = [ + "Under Control", + "Safe", +] + logging.basicConfig(level=logging.INFO) _LOGGER = logging.getLogger("serial_rssbot") @@ -168,13 +173,41 @@ def build_filtered_message(item: dict[str, str]) -> str | None: fields = extract_fields(item.get("raw_description") or "") if not fields: return None + + status_norm = fields.get("Status", "").strip().lower() + blocked_norm = [b.lower() for b in BLOCKED_STATUSES] + + if status_norm in blocked_norm: + return None + + + # if any(b.lower() in status for b in BLOCKED_STATUSES): + # return None # Keep order exactly as FIELDS_TO_SEND, skip missing + # parts = [] + # for k in FIELDS_TO_SEND: + # v = fields.get(k) + # if v: + # parts.append(f"{v}") + parts = [] + + lat = fields.get("Latitude") + lon = fields.get("Longitude") + for k in FIELDS_TO_SEND: + if k in ("Latitude", "Longitude"): + continue + v = fields.get(k) if v: - parts.append(f"{v}") + parts.append(v) + + # append formatted lat,lon at the end + if lat and lon: + parts.append(f"{lat},{lon}") + if not parts: return None