From cb64045f3200fc9ad8051635a02a155def6d7f60 Mon Sep 17 00:00:00 2001 From: Jan Speller Date: Sat, 22 Feb 2020 23:47:13 +0100 Subject: [PATCH] fix wildcard replacement --- boswatch/wildcard.py | 62 +++++++++++++++++++++++--------------------- plugin/pluginBase.py | 2 +- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/boswatch/wildcard.py b/boswatch/wildcard.py index 71d1c42..91f2fea 100644 --- a/boswatch/wildcard.py +++ b/boswatch/wildcard.py @@ -52,51 +52,53 @@ def replaceWildcards(message, bwPacket): # info wildcards # server - "{SNAME}": bwPacket.getField("serverName"), - "{SVERS}": bwPacket.getField("serverVersion"), - "{SDATE}": bwPacket.getField("serverBuildDate"), - "{SBRCH}": bwPacket.getField("serverBranch"), + "{SNAME}": bwPacket.get("serverName"), + "{SVERS}": bwPacket.get("serverVersion"), + "{SDATE}": bwPacket.get("serverBuildDate"), + "{SBRCH}": bwPacket.get("serverBranch"), # client - "{CNAME}": bwPacket.getField("clientName"), - "{CIP}": bwPacket.getField("clientIP"), - "{CVERS}": bwPacket.getField("clientVersion"), - "{CDATE}": bwPacket.getField("clientBuildDate"), - "{CBRCH}": bwPacket.getField("clientBranch"), + "{CNAME}": bwPacket.get("clientName"), + "{CIP}": bwPacket.get("clientIP"), + "{CVERS}": bwPacket.get("clientVersion"), + "{CDATE}": bwPacket.get("clientBuildDate"), + "{CBRCH}": bwPacket.get("clientBranch"), # boswatch wildcards - "{INSRC}": bwPacket.getField("mode"), - "{TIMES}": bwPacket.getField("mode"), - "{FREQ}": bwPacket.getField("frequency"), - "{MODE}": bwPacket.getField("mode"), + "{INSRC}": bwPacket.get("mode"), + "{TIMES}": bwPacket.get("mode"), + "{FREQ}": bwPacket.get("frequency"), + "{MODE}": bwPacket.get("mode"), # fms wildcards - "{FMS}": bwPacket.getField("fms"), - "{SERV}": bwPacket.getField("service"), - "{COUNT}": bwPacket.getField("country"), - "{LOC}": bwPacket.getField("location"), - "{VEHC}": bwPacket.getField("vehicle"), - "{STAT}": bwPacket.getField("status"), - "{DIR}": bwPacket.getField("direction"), - "{DIRT}": bwPacket.getField("dirextionText"), - "{TACI}": bwPacket.getField("tacticalInfo"), + "{FMS}": bwPacket.get("fms"), + "{SERV}": bwPacket.get("service"), + "{COUNT}": bwPacket.get("country"), + "{LOC}": bwPacket.get("location"), + "{VEHC}": bwPacket.get("vehicle"), + "{STAT}": bwPacket.get("status"), + "{DIR}": bwPacket.get("direction"), + "{DIRT}": bwPacket.get("dirextionText"), + "{TACI}": bwPacket.get("tacticalInfo"), # pocsag wildcards - "{BIT}": bwPacket.getField("bitrate"), - "{RIC}": bwPacket.getField("ric"), - "{SRIC}": bwPacket.getField("subric"), - "{SRICT}": bwPacket.getField("subricText"), - "{MSG}": bwPacket.getField("message"), + "{BIT}": bwPacket.get("bitrate"), + "{RIC}": bwPacket.get("ric"), + "{SRIC}": bwPacket.get("subric"), + "{SRICT}": bwPacket.get("subricText"), + "{MSG}": bwPacket.get("message"), # zvei wildcards - "{TONE}": bwPacket.getField("tone"), + "{TONE}": bwPacket.get("tone"), # message for MSG packet is done in poc } for wildcard, field in _wildcards.items(): - message = message.replace(wildcard, field) + if field is not None: + message = message.replace(wildcard, field) for wildcard, field in _additionalWildcards.items(): - message = message.replace(wildcard, bwPacket.getField(field)) + if field is not None: + message = message.replace(wildcard, bwPacket.getField(field)) return message diff --git a/plugin/pluginBase.py b/plugin/pluginBase.py index 5785d69..e26a54b 100644 --- a/plugin/pluginBase.py +++ b/plugin/pluginBase.py @@ -189,4 +189,4 @@ class PluginBase(ABC): if self._bwPacket is None: logging.warning("wildcard replacing not allowed - no bwPacket set") return msg - return wildcard.replaceWildcards(self._bwPacket, msg) + return wildcard.replaceWildcards(msg, self._bwPacket)