+ parms = {
+ k: kwargs.pop(k) if k in kwargs else v
+ for k, v in (
+ ("imei", None),
+ ("devtime", str(datetime.now())),
+ ("accuracy", None),
+ ("latitude", None),
+ ("longitude", None),
+ )
+ }
+ parms["remainder"] = dumps(kwargs)
+ DB.execute(
+ """insert or ignore into reports
+ (imei, devtime, accuracy, latitude, longitude, remainder)
+ values
+ (:imei, :devtime, :accuracy, :latitude, :longitude, :remainder)
+ """,
+ parms,