1 """ Generate and publish locevt from the text input """
4 from datetime import datetime, timezone
5 from logging import getLogger
6 from os import path, umask
7 from readline import read_history_file, set_history_length, write_history_file
12 from .zmsg import LocEvt
14 log = getLogger("gps303/watch")
16 RL_HISTORY = path.join(path.expanduser("~"), ".gps303_history")
20 zpub = zctx.socket(zmq.PUB)
21 oldmask = umask(0o117)
22 zpub.bind(conf.get("lookaside", "publishurl"))
25 read_history_file(RL_HISTORY)
26 except FileNotFoundError:
28 set_history_length(1000)
29 atexit.register(write_history_file, RL_HISTORY)
36 line = line.rstrip("\r\n")
37 args = line.split(" ")
39 kwargs = dict([arg.split("=") for arg in args[1:]])
40 msg = LocEvt(imei=imei, **kwargs)
41 print("Publishing:", msg)
45 if __name__.endswith("__main__"):
46 main(common.init(log))