X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2Fqry.py;h=76df8f223397eacaf53cda0b00c9390bede4a43d;hb=80f2fab3fcdf6cd962b0d81f385169dbb7431076;hp=2a8e266351d5a4c6932d7b16f61a59fe20ad45e8;hpb=4aaa5cd899d6b2bb9fd5e90dfac3d43461394e9b;p=loctrkd.git diff --git a/gps303/qry.py b/gps303/qry.py index 2a8e266..76df8f2 100644 --- a/gps303/qry.py +++ b/gps303/qry.py @@ -2,17 +2,29 @@ from datetime import datetime, timezone from sqlite3 import connect import sys -from .GT06mod import * +from .gps303proto import * db = connect(sys.argv[1]) c = db.cursor() +if len(sys.argv) > 2: + proto = proto_by_name(sys.argv[2]) + if proto < 0: + raise ValueError("No protocol with name " + sys.argv[2]) + selector = " where proto = :proto" +else: + proto = -1 + selector = "" + c.execute( - "select timestamp, imei, clntaddr, length, proto, payload from events" + "select timestamp, imei, clntaddr, length, proto, payload from events" + + selector, {"proto": proto} ) + for timestamp, imei, clntaddr, length, proto, payload in c: + msg = make_object(length, proto, payload) print( datetime.fromtimestamp(timestamp) .astimezone(tz=timezone.utc) .isoformat(), - make_object(length, proto, payload), + msg, )