From e43aad1e42fc1b97d40f89522ec7dc9c4f2282e9 Mon Sep 17 00:00:00 2001 From: GonzoBS <18075868+GonzoBS@users.noreply.github.com> Date: Sun, 6 Nov 2022 17:36:28 +0100 Subject: [PATCH 1/2] Update doubleFilter.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Probleme mit dem double Filter. Immer wenn die Liste nach Zeit gelöscht wird, wird das nächste doppelte Paket als ok durchgelassen. Die Liste ist dann bis auf einen Eintrag leer, der erste Eintrag wird aber nicht auf Duplikat geprüft. Einstellung ist RIC, SUBRIC, Message. Die Zeit habe ich zum testen auf 2 sekunden gestellt. type: module res: filter.doubleFilter config: ignoreTime: 2 maxEntry: 40 pocsagFields: ric subric message --- module/filter/doubleFilter.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/module/filter/doubleFilter.py b/module/filter/doubleFilter.py index 4b0a20a..37a7dc7 100644 --- a/module/filter/doubleFilter.py +++ b/module/filter/doubleFilter.py @@ -69,6 +69,11 @@ class BoswatchModule(ModuleBase): def _check(self, bwPacket, filterFields): self._filterLists[bwPacket.get("mode")].insert(0, bwPacket) + for listPacket in self._filterLists[bwPacket.get("mode")][1:]: # [1:] skip first entry, thats the new one + if all(listPacket.get(x) == bwPacket.get(x) for x in filterFields): + logging.debug("found duplicate: %s", bwPacket.get("mode")) + return False + # delete entries that are to old counter = 0 for listPacket in self._filterLists[bwPacket.get("mode")][1:]: # [1:] skip first entry, thats the new one @@ -83,10 +88,5 @@ class BoswatchModule(ModuleBase): logging.debug("MaxEntry reached - delete oldest") self._filterLists[bwPacket.get("mode")].pop() - for listPacket in self._filterLists[bwPacket.get("mode")][1:]: # [1:] skip first entry, thats the new one - if all(listPacket.get(x) == bwPacket.get(x) for x in filterFields): - logging.debug("found duplicate: %s", bwPacket.get("mode")) - return False - logging.debug("doubleFilter ok") return None From 1ead2cbaa2e206cb1ae1c2badce524223342bd5f Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Wed, 11 Jun 2025 10:22:12 +0200 Subject: [PATCH 2/2] Update module/filter/doubleFilter.py Co-authored-by: Jan Speller --- module/filter/doubleFilter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/module/filter/doubleFilter.py b/module/filter/doubleFilter.py index a6af421..d62d12c 100644 --- a/module/filter/doubleFilter.py +++ b/module/filter/doubleFilter.py @@ -73,7 +73,6 @@ class BoswatchModule(ModuleBase): if all(listPacket.get(x) == bwPacket.get(x) for x in filterFields): logging.debug("found duplicate: %s", bwPacket.get("mode")) return False - # delete entries that are to old counter = 0 for listPacket in self._filterLists[bwPacket.get("mode")][1:]: # [1:] skip first entry, thats the new one