# HG changeset patch # User Jeff Hammel # Date 1388427145 28800 # Node ID f2474ffcee96fa75f296bcbcc3b7b8008a56c876 # Parent 6b53345b9c2e565a37cac027e39e76f88d7c17b4 avoid namespace collisions; buckle your safety-belt diff -r 6b53345b9c2e -r f2474ffcee96 example/persona.py --- a/example/persona.py Sun Dec 29 22:04:11 2013 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -#!/usr/bin/env python - -""" -test Mozilla persona auth - -https://login.persona.org/about -""" - -import browserid -import optparse -import os -import sys -from webob import Request, Response, exc -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): - request = Request(environ) - method = request.method - if method == 'GET': - content_type = 'text/html' - body = self.page - elif method == 'POST': - content_type = 'text/plain' - assertion = request.POST.get('assertion') - print ("Assertion: %s" % assertion) - body = '\n'.join(['%s: %s' % (key, environ[key]) - for key in sorted(environ.keys())]) - else: - content_type = 'text/plain' - body = 'Try GET or POST to do something interesting (How did you get here?)' - start_response("200 OK", [('Content-Type', content_type), - ('Content-Length', str(len(body)))]) - return [body] - -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() diff -r 6b53345b9c2e -r f2474ffcee96 example/persona_example.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/example/persona_example.py Mon Dec 30 10:12:25 2013 -0800 @@ -0,0 +1,62 @@ +#!/usr/bin/env python + +""" +test Mozilla persona auth + +https://login.persona.org/about +""" + +import browserid +import optparse +import os +import sys +from webob import Request, Response, exc +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): + request = Request(environ) + method = request.method + if method == 'GET': + content_type = 'text/html' + body = self.page + elif method == 'POST': + content_type = 'text/plain' + assertion = request.POST.get('assertion') + print ("Assertion: %s" % assertion) + body = '\n'.join(['%s: %s' % (key, environ[key]) + for key in sorted(environ.keys())]) + else: + content_type = 'text/plain' + body = 'Try GET or POST to do something interesting (How did you get here?)' + start_response("200 OK", [('Content-Type', content_type), + ('Content-Length', str(len(body)))]) + return [body] + +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()