|
- import argparse
- import BaseHTTPServer
- import os
- import SimpleHTTPServer
-
- from daemonize import Daemonize
-
-
- def setup():
- parser = argparse.ArgumentParser()
- parser.add_argument("directory")
- parser.add_argument("-p", "--port", dest="port", type=int, default=8080)
- parser.add_argument('-P', "--pid-file", dest="pid", default="web.pid")
- args = parser.parse_args()
-
- # Get absolute path to directory to serve, as daemonize changes to '/'
- os.chdir(args.directory)
- dr = os.getcwd()
-
- httpd = BaseHTTPServer.HTTPServer(
- ('', args.port),
- SimpleHTTPServer.SimpleHTTPRequestHandler
- )
-
- def run():
- os.chdir(dr)
- httpd.serve_forever()
-
- daemon = Daemonize(
- app="synapse-webclient",
- pid=args.pid,
- action=run,
- auto_close_fds=False,
- )
-
- daemon.start()
-
- if __name__ == '__main__':
- setup()
|