X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2Fqry.py;h=25f55aab75f1470d13ff0c59ba575c2eb6e5c0ad;hb=18eda7307e92eeee6a9e2fdd2e810f98d25df654;hp=76df8f223397eacaf53cda0b00c9390bede4a43d;hpb=8be4295a5027349ebbf5242d131c5a942181f7a6;p=loctrkd.git diff --git a/gps303/qry.py b/gps303/qry.py index 76df8f2..25f55aa 100644 --- a/gps303/qry.py +++ b/gps303/qry.py @@ -2,7 +2,7 @@ from datetime import datetime, timezone from sqlite3 import connect import sys -from .gps303proto import * +from .gps303proto import parse_message, proto_by_name db = connect(sys.argv[1]) c = db.cursor() @@ -16,15 +16,25 @@ else: selector = "" c.execute( - "select timestamp, imei, clntaddr, length, proto, payload from events" + - selector, {"proto": proto} + "select tstamp, imei, peeraddr, proto, packet from events" + selector, + {"proto": proto}, ) -for timestamp, imei, clntaddr, length, proto, payload in c: - msg = make_object(length, proto, payload) +for tstamp, imei, peeraddr, proto, packet in c: + if len(packet) > packet[0] + 1: + print( + "proto", + packet[1], + "datalen", + len(packet), + "msg.length", + packet[0], + file=sys.stderr, + ) + msg = parse_message(packet) print( - datetime.fromtimestamp(timestamp) - .astimezone(tz=timezone.utc) - .isoformat(), + datetime.fromtimestamp(tstamp).astimezone(tz=timezone.utc).isoformat(), + imei, + peeraddr, msg, )