]> www.average.org Git - loctrkd.git/blob - gps303/mock.py
058c74950b9fb85a39a1083abfae44728a3542a4
[loctrkd.git] / gps303 / mock.py
1 """ Watch for locevt and print them """
2
3 from datetime import datetime, timezone
4 from logging import getLogger
5 from os import umask
6 import readline
7 from sys import argv
8 import zmq
9
10 from . import common
11 from .zmsg import LocEvt
12
13 log = getLogger("gps303/watch")
14
15
16 def main(conf):
17     zctx = zmq.Context()
18     zpub = zctx.socket(zmq.PUB)
19     oldmask = umask(0o117)
20     zpub.bind(conf.get("lookaside", "publishurl"))
21     umask(oldmask)
22
23     while True:
24         try:
25             line = input("> ")
26         except EOFError:
27             break
28         line = line.rstrip("\r\n")
29         args = line.split(" ")
30         imei = args[0]
31         kwargs = dict([arg.split("=") for arg in args[1:]])
32         msg = LocEvt(imei=imei, **kwargs)
33         print("Publishing:", msg)
34         zpub.send(msg.packed)
35
36
37 if __name__.endswith("__main__"):
38     main(common.init(log))