Mercurial > hg > bitsyauth
comparison example/persona.py @ 27:b411066b4929
example/persona.py
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Thu, 26 Dec 2013 22:43:24 -0800 |
| parents | feeb97e8c23c |
| children | 0bf52646061b |
comparison
equal
deleted
inserted
replaced
| 26:feeb97e8c23c | 27:b411066b4929 |
|---|---|
| 13 | 13 |
| 14 here = os.path.dirname(os.path.realpath(__file__)) | 14 here = os.path.dirname(os.path.realpath(__file__)) |
| 15 page = os.path.join(here, 'persona.html') | 15 page = os.path.join(here, 'persona.html') |
| 16 | 16 |
| 17 class PersonaTest(object): | 17 class PersonaTest(object): |
| 18 def __init__(self, page): | 18 def __init__(self, page=page): |
| 19 self.page = page or globals()['page'] | 19 self.page = page |
| 20 assert os.path.exists(self.page), "File '%s' not found" % self.page | 20 assert os.path.exists(self.page), "File '%s' not found" % self.page |
| 21 self.page = open(self.page, 'r').read() | 21 self.page = open(self.page, 'r').read() |
| 22 def __call__(self, environ, start_response): | 22 def __call__(self, environ, start_response): |
| 23 raise NotImplementedError | 23 start_response("200 OK", [('Content-Type', 'text/html'), |
| 24 ('Content-Length', str(len(self.page)))]) | |
| 25 return [self.page] | |
| 24 | 26 |
| 25 def main(args=sys.argv[1:]): | 27 def main(args=sys.argv[1:]): |
| 26 | 28 |
| 27 usage = '%prog [options]' | 29 usage = '%prog [options]' |
| 28 parser = optparse.OptionParser(usage=usage, description=__doc__) | 30 parser = optparse.OptionParser(usage=usage, description=__doc__) |
| 29 parser.add_option('-p', '--port', dest='port', | 31 parser.add_option('-p', '--port', dest='port', |
| 30 type='int', default=8123, | 32 type='int', default=8123, |
| 31 help="port to serve on") | 33 help="port to serve on") |
| 32 options, args = parser.parse_args(args) | 34 options, args = parser.parse_args(args) |
| 33 | 35 |
| 36 app = PersonaTest() | |
| 37 | |
| 34 server = simple_server.make_server('127.0.0.1', options.port, app) | 38 server = simple_server.make_server('127.0.0.1', options.port, app) |
| 35 print 'server on http://localhost:8080' | 39 print 'server on\nhttp://localhost:%d/' % options.port |
| 36 try: | 40 try: |
| 37 server.serve_forever() | 41 server.serve_forever() |
| 38 except KeyboardInterrupt: | 42 except KeyboardInterrupt: |
| 39 pass | 43 pass |
| 40 | 44 |
