Mercurial > hg > bitsyauth
view example/persona.py @ 28:0f57029d663d
example/persona.html
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 26 Dec 2013 23:38:42 -0800 |
parents | b411066b4929 |
children | 0bf52646061b |
line wrap: on
line source
#!/usr/bin/env python """ test Mozilla persona auth https://login.persona.org/about """ import optparse import os import sys from wsgiref import simple_server here = os.path.dirname(os.path.realpath(__file__)) page = os.path.join(here, 'persona.html') class PersonaTest(object): def __init__(self, page=page): self.page = page assert os.path.exists(self.page), "File '%s' not found" % self.page self.page = open(self.page, 'r').read() def __call__(self, environ, start_response): start_response("200 OK", [('Content-Type', 'text/html'), ('Content-Length', str(len(self.page)))]) return [self.page] def main(args=sys.argv[1:]): usage = '%prog [options]' parser = optparse.OptionParser(usage=usage, description=__doc__) parser.add_option('-p', '--port', dest='port', type='int', default=8123, help="port to serve on") options, args = parser.parse_args(args) app = PersonaTest() server = simple_server.make_server('127.0.0.1', options.port, app) print 'server on\nhttp://localhost:%d/' % options.port try: server.serve_forever() except KeyboardInterrupt: pass if __name__ == '__main__': main()