From ee20b0219e4e3727313d90f0e1db473feb355942 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 29 Mar 2026 12:38:39 -0500 Subject: [PATCH] skip None values in filtered output for dot notation --- frigate/stats/emitter.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/frigate/stats/emitter.py b/frigate/stats/emitter.py index 18d053a58..2b34c7c4e 100644 --- a/frigate/stats/emitter.py +++ b/frigate/stats/emitter.py @@ -94,9 +94,14 @@ class StatsEmitter(threading.Thread): first_value = next(iter(parent.values()), None) if isinstance(first_value, dict): - # Filter each nested entry to only requested fields + # Filter each nested entry to only requested fields, + # omitting None values to preserve key-absence semantics selected[parent_key] = { - entry_key: {field: entry.get(field) for field in child_keys} + entry_key: { + field: val + for field in child_keys + if (val := entry.get(field)) is not None + } for entry_key, entry in parent.items() } else: