56 lines
2.1 KiB
Python
Executable File
56 lines
2.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
import os
|
|
import sys,logging
|
|
import optparse
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
|
|
|
|
import prserv
|
|
import prserv.serv
|
|
|
|
__version__="1.0.0"
|
|
|
|
PRHOST_DEFAULT='0.0.0.0'
|
|
PRPORT_DEFAULT=8585
|
|
|
|
def main():
|
|
parser = optparse.OptionParser(
|
|
version="Bitbake PR Service Core version %s, %%prog version %s" % (prserv.__version__, __version__),
|
|
usage = "%prog < --start | --stop > [options]")
|
|
|
|
parser.add_option("-f", "--file", help="database filename(default: prserv.sqlite3)", action="store",
|
|
dest="dbfile", type="string", default="prserv.sqlite3")
|
|
parser.add_option("-l", "--log", help="log filename(default: prserv.log)", action="store",
|
|
dest="logfile", type="string", default="prserv.log")
|
|
parser.add_option("--loglevel", help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
|
|
action = "store", type="string", dest="loglevel", default = "INFO")
|
|
parser.add_option("--start", help="start daemon",
|
|
action="store_true", dest="start")
|
|
parser.add_option("--stop", help="stop daemon",
|
|
action="store_true", dest="stop")
|
|
parser.add_option("--host", help="ip address to bind", action="store",
|
|
dest="host", type="string", default=PRHOST_DEFAULT)
|
|
parser.add_option("--port", help="port number(default: 8585)", action="store",
|
|
dest="port", type="int", default=PRPORT_DEFAULT)
|
|
|
|
options, args = parser.parse_args(sys.argv)
|
|
prserv.init_logger(os.path.abspath(options.logfile),options.loglevel)
|
|
|
|
if options.start:
|
|
ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile))
|
|
elif options.stop:
|
|
ret=prserv.serv.stop_daemon(options.host, options.port)
|
|
else:
|
|
ret=parser.print_help()
|
|
return ret
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
ret = main()
|
|
except Exception:
|
|
ret = 1
|
|
import traceback
|
|
traceback.print_exc(5)
|
|
sys.exit(ret)
|
|
|