X-Git-Url: http://www.average.org/gitweb/?p=loctrkd.git;a=blobdiff_plain;f=loctrkd%2Fzmsg.py;h=6539d5f18f67b8e3e88faa760ccbadb104af2861;hp=da0dc77e39da6f38d7eaefe5adbdfe897f928b28;hb=2cf0fd9d215dda17eae4261ab7967367f6aa0028;hpb=6eff65f7b03bc66a479df0fd694250e1e0b7c5ae diff --git a/loctrkd/zmsg.py b/loctrkd/zmsg.py index da0dc77..6539d5f 100644 --- a/loctrkd/zmsg.py +++ b/loctrkd/zmsg.py @@ -173,18 +173,21 @@ class Resp(_Zmsg): class Rept(_Zmsg): - """Broadcast Zzmq message with "rectified" proto-agnostic json data""" + """Broadcast zmq message with "rectified" proto-agnostic json data""" - KWARGS = (("imei", None), ("payload", "")) + KWARGS = (("imei", None), ("payload", ""), ("pmod", None)) @property def packed(self) -> bytes: return ( pack( - "16s", - "0000000000000000" + "16s16s", + b"0000000000000000" if self.imei is None else self.imei.encode(), + b" " + if self.pmod is None + else self.pmod.encode(), ) + self.payload.encode() ) @@ -194,4 +197,8 @@ class Rept(_Zmsg): self.imei = ( None if imei == b"0000000000000000" else imei.decode().strip("\0") ) - self.payload = buffer[16:].decode() + pmod = buffer[16:32] + self.pmod = ( + None if pmod == b" " else pmod.decode().strip("\0") + ) + self.payload = buffer[32:].decode()