X-Git-Url: http://www.average.org/gitweb/?p=loctrkd.git;a=blobdiff_plain;f=gps303%2Flookaside.py;h=dd5a449bdbcfa771fd5358f25b1d56afd52b386a;hp=ecd5dfa089cfbd03e0c2ff6795779d77b2e476d4;hb=5e1e7a4d37a1e149d5e899dada7b55a863cd8e64;hpb=9d43b364c397f1f50bd8620e487cbc8fc7189f20 diff --git a/gps303/lookaside.py b/gps303/lookaside.py index ecd5dfa..dd5a449 100644 --- a/gps303/lookaside.py +++ b/gps303/lookaside.py @@ -7,9 +7,9 @@ from struct import pack import zmq from . import common -from .gps303proto import parse_message, proto_by_name, WIFI_POSITIONING +from .gps303proto import parse_message, WIFI_POSITIONING from .opencellid import qry_cell -from .zmsg import Bcast, Resp +from .zmsg import Bcast, Resp, topic log = getLogger("gps303/lookaside") @@ -18,8 +18,8 @@ def runserver(conf): zctx = zmq.Context() zsub = zctx.socket(zmq.SUB) zsub.connect(conf.get("collector", "publishurl")) - topic = pack("B", proto_by_name("WIFI_POSITIONING")) - zsub.setsockopt(zmq.SUBSCRIBE, topic) + tosub = topic(WIFI_POSITIONING.PROTO) + zsub.setsockopt(zmq.SUBSCRIBE, tosub) zpush = zctx.socket(zmq.PUSH) zpush.connect(conf.get("collector", "listenurl")) @@ -34,21 +34,13 @@ def runserver(conf): datetime.fromtimestamp(zmsg.when).astimezone(tz=timezone.utc), msg, ) - if not isinstance(msg, WIFI_POSITIONING): - log.error( - "IMEI %s from %s at %s: %s", - zmsg.imei, - zmsg.peeraddr, - datetime.fromtimestamp(zmsg.when).astimezone( - tz=timezone.utc - ), - msg, - ) - continue lat, lon = qry_cell( conf["opencellid"]["dbfn"], msg.mcc, msg.gsm_cells ) - resp = Resp(imei=zmsg.imei, packet=msg.Out(lat=lat, lon=lon).packed) + resp = Resp( + imei=zmsg.imei, + packet=msg.Out(latitude=lat, longitude=lon).packed, + ) log.debug("Response for lat=%s, lon=%s: %s", lat, lon, resp) zpush.send(resp.packed)