Merge pull request #19 from janspeller/hotfix/wildcards

fix wildcard replacement
This commit is contained in:
Bastian Schroll 2020-02-23 08:52:46 +01:00 committed by GitHub
commit e2ed5b0d22
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 31 deletions

View file

@ -52,51 +52,53 @@ def replaceWildcards(message, bwPacket):
# info wildcards # info wildcards
# server # server
"{SNAME}": bwPacket.getField("serverName"), "{SNAME}": bwPacket.get("serverName"),
"{SVERS}": bwPacket.getField("serverVersion"), "{SVERS}": bwPacket.get("serverVersion"),
"{SDATE}": bwPacket.getField("serverBuildDate"), "{SDATE}": bwPacket.get("serverBuildDate"),
"{SBRCH}": bwPacket.getField("serverBranch"), "{SBRCH}": bwPacket.get("serverBranch"),
# client # client
"{CNAME}": bwPacket.getField("clientName"), "{CNAME}": bwPacket.get("clientName"),
"{CIP}": bwPacket.getField("clientIP"), "{CIP}": bwPacket.get("clientIP"),
"{CVERS}": bwPacket.getField("clientVersion"), "{CVERS}": bwPacket.get("clientVersion"),
"{CDATE}": bwPacket.getField("clientBuildDate"), "{CDATE}": bwPacket.get("clientBuildDate"),
"{CBRCH}": bwPacket.getField("clientBranch"), "{CBRCH}": bwPacket.get("clientBranch"),
# boswatch wildcards # boswatch wildcards
"{INSRC}": bwPacket.getField("mode"), "{INSRC}": bwPacket.get("mode"),
"{TIMES}": bwPacket.getField("mode"), "{TIMES}": bwPacket.get("mode"),
"{FREQ}": bwPacket.getField("frequency"), "{FREQ}": bwPacket.get("frequency"),
"{MODE}": bwPacket.getField("mode"), "{MODE}": bwPacket.get("mode"),
# fms wildcards # fms wildcards
"{FMS}": bwPacket.getField("fms"), "{FMS}": bwPacket.get("fms"),
"{SERV}": bwPacket.getField("service"), "{SERV}": bwPacket.get("service"),
"{COUNT}": bwPacket.getField("country"), "{COUNT}": bwPacket.get("country"),
"{LOC}": bwPacket.getField("location"), "{LOC}": bwPacket.get("location"),
"{VEHC}": bwPacket.getField("vehicle"), "{VEHC}": bwPacket.get("vehicle"),
"{STAT}": bwPacket.getField("status"), "{STAT}": bwPacket.get("status"),
"{DIR}": bwPacket.getField("direction"), "{DIR}": bwPacket.get("direction"),
"{DIRT}": bwPacket.getField("dirextionText"), "{DIRT}": bwPacket.get("dirextionText"),
"{TACI}": bwPacket.getField("tacticalInfo"), "{TACI}": bwPacket.get("tacticalInfo"),
# pocsag wildcards # pocsag wildcards
"{BIT}": bwPacket.getField("bitrate"), "{BIT}": bwPacket.get("bitrate"),
"{RIC}": bwPacket.getField("ric"), "{RIC}": bwPacket.get("ric"),
"{SRIC}": bwPacket.getField("subric"), "{SRIC}": bwPacket.get("subric"),
"{SRICT}": bwPacket.getField("subricText"), "{SRICT}": bwPacket.get("subricText"),
"{MSG}": bwPacket.getField("message"), "{MSG}": bwPacket.get("message"),
# zvei wildcards # zvei wildcards
"{TONE}": bwPacket.getField("tone"), "{TONE}": bwPacket.get("tone"),
# message for MSG packet is done in poc # message for MSG packet is done in poc
} }
for wildcard, field in _wildcards.items(): 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(): 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 return message

View file

@ -189,4 +189,4 @@ class PluginBase(ABC):
if self._bwPacket is None: if self._bwPacket is None:
logging.warning("wildcard replacing not allowed - no bwPacket set") logging.warning("wildcard replacing not allowed - no bwPacket set")
return msg return msg
return wildcard.replaceWildcards(self._bwPacket, msg) return wildcard.replaceWildcards(msg, self._bwPacket)