Mercurial > hg > MakeItSo
comparison 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 |
comparison
equal
deleted
inserted
replaced
216:04aad19e17c6 | 217:745c785b6986 |
---|---|
2 | 2 |
3 """ | 3 """ |
4 web handler for {{project}} | 4 web handler for {{project}} |
5 """ | 5 """ |
6 | 6 |
7 # imports | |
8 import argparse | |
9 import sys | |
7 from webob import Request, Response, exc | 10 from webob import Request, Response, exc |
11 from wsgiref import simple_server | |
8 | 12 |
9 class Handler(object): | 13 class Handler(object): |
14 """WSGI HTTP Handler""" | |
10 | 15 |
11 def __init__(self, **kw): | 16 def __init__(self, **kw): |
12 pass | 17 pass |
13 | 18 |
14 def __call__(self, environ, start_response): | 19 def __call__(self, environ, start_response): |
15 request = Request(environ) | 20 request = Request(environ) |
16 response = Response(content_type='text/plain', | 21 response = Response(content_type='text/plain', |
17 body="{{project}}") | 22 body="{{project}}") |
18 return response(environ, start_response) | 23 return response(environ, start_response) |
19 | 24 |
25 def main(args=sys.argv[1:]): | |
26 """CLI""" | |
27 | |
28 # parse command line | |
29 parser = argparse.ArgumentParser(description=__doc__) | |
30 parser.add_argument('-p', '--port', dest='port', | |
31 type=int, default=8080, | |
32 help="port to serve on") | |
33 options = parser.parse_arguments(args) | |
34 | |
35 # instantiate WSGI handler | |
36 app = Handler() | |
37 | |
38 # serve it (Warning! Single threaded!) | |
39 server = simple_server.make_server(host='0.0.0.0', | |
40 port=options.port | |
41 app=app) | |
42 try: | |
43 server.serve_forever() | |
44 except KeyboardInterrupt: | |
45 pass | |
46 | |
20 if __name__ == '__main__': | 47 if __name__ == '__main__': |
21 from wsgiref import simple_server | 48 main() |
22 app = Handler() | |
23 server = simple_server.make_server(host='0.0.0.0', port=8080, app=app) | |
24 server.serve_forever() | |
25 |