]> average.org Git - loctrkd.git/blobdiff - gps303/qry.py
use old address format in the event database
[loctrkd.git] / gps303 / qry.py
index 2d4889921334e452226ec09faa04826fcc66ec6a..76df8f223397eacaf53cda0b00c9390bede4a43d 100644 (file)
@@ -1,12 +1,30 @@
-from datetime import datetime
+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()
-c.execute("select timestamp, imei, clntaddr, proto, payload from events")
-for timestamp, imei, clntaddr, proto, payload in c:
-    print(datetime.fromtimestamp(timestamp).isoformat(),
-            make_object(proto, payload))
+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" +
+    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(),
+        msg,
+    )