X-Git-Url: http://www.average.org/gitweb/?p=loctrkd.git;a=blobdiff_plain;f=gps303%2Fzmsg.py;h=1fe18123c441739a9891b1433ec8bc276b5c876a;hp=0457685ab05ab6bf6cade6eb466c9ccce3a48946;hb=d6c20543cf997f20cb72bf7380674bf012a5af88;hpb=8bf5efdf4f5d069b108e6fd8140f5ebd930b538e diff --git a/gps303/zmsg.py b/gps303/zmsg.py index 0457685..1fe1812 100644 --- a/gps303/zmsg.py +++ b/gps303/zmsg.py @@ -80,8 +80,8 @@ class _Zmsg: def topic(proto, is_incoming=True, imei=None): - return ( - pack("BB", is_incoming, proto) + b"" if imei is None else imei.encode() + return pack("BB", is_incoming, proto) + ( + b"" if imei is None else pack("16s", imei.encode()) ) @@ -100,8 +100,14 @@ class Bcast(_Zmsg): @property def packed(self): return ( - pack("BB", int(self.is_incoming), self.proto) - + ("0000000000000000" if self.imei is None else self.imei).encode() + pack( + "BB16s", + int(self.is_incoming), + self.proto, + "0000000000000000" + if self.imei is None + else self.imei.encode(), + ) + ( b"\0\0\0\0\0\0\0\0" if self.when is None @@ -130,7 +136,12 @@ class Resp(_Zmsg): @property def packed(self): return ( - ("0000000000000000" if self.imei is None else self.imei.encode()) + pack( + "16s", + "0000000000000000" + if self.imei is None + else self.imei.encode(), + ) + ( b"\0\0\0\0\0\0\0\0" if self.when is None