Mercurial > hg > MakeItSo
diff makeitso/python_package/{{package}}/web.py @ 217:745c785b6986
spruce this up a bit
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Mon, 14 Dec 2015 12:51:34 -0800 |
parents | 5964dabba04a |
children |
line wrap: on
line diff
--- a/makeitso/python_package/{{package}}/web.py Mon Dec 14 12:44:39 2015 -0800 +++ b/makeitso/python_package/{{package}}/web.py Mon Dec 14 12:51:34 2015 -0800 @@ -4,9 +4,14 @@ web handler for {{project}} """ +# imports +import argparse +import sys from webob import Request, Response, exc +from wsgiref import simple_server class Handler(object): + """WSGI HTTP Handler""" def __init__(self, **kw): pass @@ -17,9 +22,27 @@ body="{{project}}") return response(environ, start_response) -if __name__ == '__main__': - from wsgiref import simple_server +def main(args=sys.argv[1:]): + """CLI""" + + # parse command line + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('-p', '--port', dest='port', + type=int, default=8080, + help="port to serve on") + options = parser.parse_arguments(args) + + # instantiate WSGI handler app = Handler() - server = simple_server.make_server(host='0.0.0.0', port=8080, app=app) - server.serve_forever() - + + # serve it (Warning! Single threaded!) + server = simple_server.make_server(host='0.0.0.0', + port=options.port + app=app) + try: + server.serve_forever() + except KeyboardInterrupt: + pass + +if __name__ == '__main__': + main()