bitbake-prserv 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env python3
  2. import os
  3. import sys,logging
  4. import optparse
  5. sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)),'lib'))
  6. import prserv
  7. import prserv.serv
  8. __version__="1.0.0"
  9. PRHOST_DEFAULT='0.0.0.0'
  10. PRPORT_DEFAULT=8585
  11. def main():
  12. parser = optparse.OptionParser(
  13. version="Bitbake PR Service Core version %s, %%prog version %s" % (prserv.__version__, __version__),
  14. usage = "%prog < --start | --stop > [options]")
  15. parser.add_option("-f", "--file", help="database filename(default: prserv.sqlite3)", action="store",
  16. dest="dbfile", type="string", default="prserv.sqlite3")
  17. parser.add_option("-l", "--log", help="log filename(default: prserv.log)", action="store",
  18. dest="logfile", type="string", default="prserv.log")
  19. parser.add_option("--loglevel", help="logging level, i.e. CRITICAL, ERROR, WARNING, INFO, DEBUG",
  20. action = "store", type="string", dest="loglevel", default = "INFO")
  21. parser.add_option("--start", help="start daemon",
  22. action="store_true", dest="start")
  23. parser.add_option("--stop", help="stop daemon",
  24. action="store_true", dest="stop")
  25. parser.add_option("--host", help="ip address to bind", action="store",
  26. dest="host", type="string", default=PRHOST_DEFAULT)
  27. parser.add_option("--port", help="port number(default: 8585)", action="store",
  28. dest="port", type="int", default=PRPORT_DEFAULT)
  29. options, args = parser.parse_args(sys.argv)
  30. prserv.init_logger(os.path.abspath(options.logfile),options.loglevel)
  31. if options.start:
  32. ret=prserv.serv.start_daemon(options.dbfile, options.host, options.port,os.path.abspath(options.logfile))
  33. elif options.stop:
  34. ret=prserv.serv.stop_daemon(options.host, options.port)
  35. else:
  36. ret=parser.print_help()
  37. return ret
  38. if __name__ == "__main__":
  39. try:
  40. ret = main()
  41. except Exception:
  42. ret = 1
  43. import traceback
  44. traceback.print_exc()
  45. sys.exit(ret)