diff --git a/boswatch/decoder/decoder.py b/boswatch/decoder/decoder.py index 6b841a9..dab8f33 100644 --- a/boswatch/decoder/decoder.py +++ b/boswatch/decoder/decoder.py @@ -16,42 +16,25 @@ """ import logging -from boswatch.decoder.fms import Fms -from boswatch.decoder.pocsag import Pocsag -from boswatch.decoder.zvei import Zvei +from boswatch.decoder.fmsdecoder import FmsDecoder +from boswatch.decoder.pocsagdecoder import PocsagDecoder +from boswatch.decoder.zveidecoder import ZveiDecoder logging.debug("- %s loaded", __name__) -def getDecoder(data): - """!Choose the right decoder and return the new decoder object +def decode(data): + """!Choose the right decoder and return a bwPacket instance @param data: data to decode - @return Decoder object""" + @return bwPacket instance""" logging.debug("search decoder") if "FMS" in data: - return Fms() + return FmsDecoder.decode(data) elif "POCSAG" in data: - return Pocsag() + return PocsagDecoder.decode(data) elif "ZVEI" in data: - return Zvei() + return ZveiDecoder.decode(data) else: - logging.debug("no decoder found for: %s", data) - return DummyDecoder() - - -class DummyDecoder: - """!This dummy decoder class is needed because in case of - an getDecoder() with false data, we must return a decoder - object with an decode() method to prevent an error""" - def __init__(self): - """!Do nothing""" - pass - - @staticmethod - def decode(data): - """!Dummy decode() method - - @param data: data to decode - @return ALWAYS None""" - return None + logging.error("no decoder found for: %s", data) + return False diff --git a/boswatch/decoder/fms.py b/boswatch/decoder/fmsdecoder.py similarity index 99% rename from boswatch/decoder/fms.py rename to boswatch/decoder/fmsdecoder.py index 136594f..4ffbce1 100644 --- a/boswatch/decoder/fms.py +++ b/boswatch/decoder/fmsdecoder.py @@ -23,7 +23,7 @@ from boswatch.packet import packet logging.debug("- %s loaded", __name__) -class Fms: +class FmsDecoder: """!FMS decoder class This class decodes FMS data. diff --git a/boswatch/decoder/pocsag.py b/boswatch/decoder/pocsagdecoder.py similarity index 96% rename from boswatch/decoder/pocsag.py rename to boswatch/decoder/pocsagdecoder.py index 993a72a..2eed443 100644 --- a/boswatch/decoder/pocsag.py +++ b/boswatch/decoder/pocsagdecoder.py @@ -23,7 +23,7 @@ from boswatch.packet import packet logging.debug("- %s loaded", __name__) -class Pocsag: +class PocsagDecoder: """!POCSAG decoder class This class decodes POCSAG data. @@ -40,7 +40,7 @@ class Pocsag: @param data: POCSAG for decoding @return BOSWatch POCSAG packet or None""" - bitrate, ric, subric = Pocsag._getBitrateRicSubric(data) + bitrate, ric, subric = PocsagDecoder._getBitrateRicSubric(data) if re.search("[0-9]{7}", ric) and re.search("[1-4]", subric): if "Alpha:" in data: diff --git a/boswatch/decoder/zvei.py b/boswatch/decoder/zveidecoder.py similarity index 95% rename from boswatch/decoder/zvei.py rename to boswatch/decoder/zveidecoder.py index 7b17959..4010d47 100644 --- a/boswatch/decoder/zvei.py +++ b/boswatch/decoder/zveidecoder.py @@ -23,7 +23,7 @@ from boswatch.packet import packet logging.debug("- %s loaded", __name__) -class Zvei: +class ZveiDecoder: """!ZVEI decoder class This class decodes ZVEI data. @@ -46,7 +46,7 @@ class Zvei: bwPacket = packet.Packet() bwPacket.set("mode", "zvei") - bwPacket.set("zvei", Zvei._solveDoubleTone(data[7:12])) + bwPacket.set("zvei", ZveiDecoder._solveDoubleTone(data[7:12])) logging.debug(bwPacket) return bwPacket diff --git a/bw_client.py b/bw_client.py index 9243ffd..07a2282 100644 --- a/bw_client.py +++ b/bw_client.py @@ -84,7 +84,7 @@ try: print("Alarm Nr #" + str(i)) data = "ZVEI1: 12345" - bwPacket = decoder.getDecoder(data).decode(data) + bwPacket = decoder.decode(data) if bwPacket: bwPacket.printInfo()