X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2F__main__.py;h=15832804c130e0ffebe249d7926ab3d84a9a500e;hb=af6691efc04cf2fb6aaa22be606b6468cceaffb6;hp=aa2342793cee364ca9b4404f434bfaf55395dbe8;hpb=9b5436a2e568931f38e5721cdcf2e42bab151619;p=loctrkd.git diff --git a/gps303/__main__.py b/gps303/__main__.py index aa23427..1583280 100644 --- a/gps303/__main__.py +++ b/gps303/__main__.py @@ -4,6 +4,7 @@ from datetime import datetime, timezone from getopt import getopt from logging import getLogger from sys import argv +from time import time import zmq from . import common @@ -19,15 +20,20 @@ def main(conf, opts, args): zpush.connect(conf.get("collector", "listenurl")) if len(args) < 2: - raise ValueError("Too few args, need IMEI and command min: " + str(args)) + raise ValueError( + "Too few args, need IMEI and command min: " + str(args) + ) imei = args[0] cmd = args[1] args = args[2:] cls = class_by_prefix(cmd) if isinstance(cls, list): raise ValueError("Prefix does not select a single class: " + str(cls)) - kwargs = {} - resp = Resp(imei=imei, packet=cls.Out(**kwargs).packed) + kwargs = dict([arg.split("=") for arg in args]) + for arg in args: + k, v = arg.split("=") + kwargs[k] = v + resp = Resp(imei=imei, when=time(), packet=cls.Out(**kwargs).packed) log.debug("Response: %s", resp) zpush.send(resp.packed)