X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2F__main__.py;h=5e9a93547daef39425bf9befae0a484ab6f68938;hb=f85690956cf13e342ac02dea298fe876c4163c95;hp=51e462c3fcdf07b68fa5024bf7334dcdb83af522;hpb=8be4295a5027349ebbf5242d131c5a942181f7a6;p=loctrkd.git diff --git a/gps303/__main__.py b/gps303/__main__.py index 51e462c..5e9a935 100755 --- a/gps303/__main__.py +++ b/gps303/__main__.py @@ -1,13 +1,11 @@ -from getopt import getopt -from logging import getLogger, StreamHandler, DEBUG, INFO -from logging.handlers import SysLogHandler +from logging import getLogger from select import poll, POLLIN, POLLERR, POLLHUP, POLLPRI from socket import socket, AF_INET, SOCK_STREAM, SOL_SOCKET, SO_REUSEADDR import sys from time import time -from .config import readconfig -from .gps303proto import handle_packet, make_response, LOGIN, set_config +from . import common +from .gps303proto import handle_packet, make_response, LOGIN from .evstore import initdb, stow from .lookaside import prepare_response @@ -15,24 +13,12 @@ CONF = "/etc/gps303.conf" log = getLogger("gps303") -if __name__.endswith("__main__"): - opts, _ = getopt(sys.argv[1:], "c:d") - opts = dict(opts) - conf = readconfig(opts["-c"] if "-c" in opts else CONF) - - if sys.stdout.isatty(): - log.addHandler(StreamHandler(sys.stderr)) - else: - log.addHandler(SysLogHandler(address="/dev/log")) - log.setLevel(DEBUG if "-d" in opts else INFO) - log.info("starting with options: %s", opts) - - initdb(conf.get("daemon", "dbfn")) - set_config(conf) +def runserver(conf): + initdb(conf.get("storage", "dbfn")) ctlsock = socket(AF_INET, SOCK_STREAM) ctlsock.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) - ctlsock.bind(("", conf.getint("daemon", "port"))) + ctlsock.bind(("", conf.getint("collector", "port"))) ctlsock.listen(5) ctlfd = ctlsock.fileno() pollset = poll() @@ -98,3 +84,6 @@ if __name__.endswith("__main__"): del clnt_dict[fd] if ev & ~POLLIN: log.warning("unexpected event", ev, "on fd", fd) + +if __name__.endswith("__main__"): + runserver(common.init(log))