X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2Fwatch.py;h=e66689ec33ebfd703c98eda5e5fc3c1a9f68302e;hb=9bdfa9b4a1890f81c4ef1d37db68e81bb17a1b14;hp=8ae9ab99bce84206084c91b0e21950ae65b066d9;hpb=80e795c08def3466884223357798cd1aff265212;p=loctrkd.git diff --git a/gps303/watch.py b/gps303/watch.py index 8ae9ab9..e66689e 100644 --- a/gps303/watch.py +++ b/gps303/watch.py @@ -1,25 +1,29 @@ """ Watch for locevt and print them """ +from configparser import ConfigParser from datetime import datetime, timezone from logging import getLogger import zmq from . import common -from .zmsg import LocEvt +from .gps303proto import parse_message +from .zmsg import Bcast log = getLogger("gps303/watch") -def runserver(conf): - zctx = zmq.Context() - zsub = zctx.socket(zmq.SUB) - zsub.connect(conf.get("lookaside", "publishurl")) +def runserver(conf: ConfigParser) -> None: + # Is this https://github.com/zeromq/pyzmq/issues/1627 still not fixed?! + zctx = zmq.Context() # type: ignore + zsub = zctx.socket(zmq.SUB) # type: ignore + zsub.connect(conf.get("collector", "publishurl")) zsub.setsockopt(zmq.SUBSCRIBE, b"") try: while True: - zmsg = LocEvt(zsub.recv()) - print(zmsg) + zmsg = Bcast(zsub.recv()) + msg = parse_message(zmsg.packet, zmsg.is_incoming) + print("I" if zmsg.is_incoming else "O", zmsg.imei, msg) except KeyboardInterrupt: pass