| 
83
 | 
     1 #!/usr/bin/env python
 | 
| 
 | 
     2 
 | 
| 
 | 
     3 """
 | 
| 
 | 
     4 web handler for {{project}}
 | 
| 
 | 
     5 """
 | 
| 
 | 
     6 
 | 
| 
217
 | 
     7 # imports
 | 
| 
 | 
     8 import argparse
 | 
| 
 | 
     9 import sys
 | 
| 
118
 | 
    10 from webob import Request, Response, exc
 | 
| 
217
 | 
    11 from wsgiref import simple_server
 | 
| 
83
 | 
    12 
 | 
| 
 | 
    13 class Handler(object):
 | 
| 
217
 | 
    14     """WSGI HTTP Handler"""
 | 
| 
83
 | 
    15 
 | 
| 
 | 
    16     def __init__(self, **kw):
 | 
| 
 | 
    17         pass
 | 
| 
 | 
    18 
 | 
| 
 | 
    19     def __call__(self, environ, start_response):
 | 
| 
 | 
    20         request = Request(environ)
 | 
| 
 | 
    21         response = Response(content_type='text/plain',
 | 
| 
 | 
    22                             body="{{project}}")
 | 
| 
 | 
    23         return response(environ, start_response)
 | 
| 
 | 
    24 
 | 
| 
217
 | 
    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
 | 
| 
83
 | 
    36     app = Handler()
 | 
| 
217
 | 
    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 
 | 
| 
 | 
    47 if __name__ == '__main__':
 | 
| 
 | 
    48     main()
 |