annotate example/persona.py @ 25:e5efb021a8e6

example/persona.py
author Jeff Hammel <jhammel@mozilla.com>
date Thu, 26 Dec 2013 20:11:30 -0800
parents bdb005ae848b
children feeb97e8c23c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
1 #!/usr/bin/env python
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
2
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
3 """
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
4 test Mozilla persona auth
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
5
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
6 https://login.persona.org/about
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
7 """
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
8
25
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
9 import optparse
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
10 import os
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
11 import sys
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
12 from wsgiref import simple_server
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
13
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
14 here = os.path.dirname(os.path.realpath(__file__))
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
15 page = os.path.join(here, 'persona.html')
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
16
25
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
17 class PersonaTest(object):
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
18 def __init__(self, page):
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
19 self.page = page or globals()['page']
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
20 assert os.path.exists(self.page)
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
21
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
22 def main(args=sys.argv[1:]):
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
24 usage = '%prog [options]'
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
25 parser = optparse.OptionParser(usage=usage, description=__doc__)
24
bdb005ae848b example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 23
diff changeset
26 parser.add_option('-p', '--port', dest='port',
bdb005ae848b example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 23
diff changeset
27 type='int', default=8123,
bdb005ae848b example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 23
diff changeset
28 help="port to serve on")
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
29 options, args = parser.parse_args(args)
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
30
25
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
31 server = simple_server.make_server('127.0.0.1', options.port, app)
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
32 print 'server on http://localhost:8080'
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
33 try:
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
34 server.serve_forever()
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
35 except KeyboardInterrupt:
e5efb021a8e6 example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 24
diff changeset
36 pass
24
bdb005ae848b example/persona.py
Jeff Hammel <jhammel@mozilla.com>
parents: 23
diff changeset
37
23
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
38 if __name__ == '__main__':
21124b238feb stub persona/browserid example
Jeff Hammel <jhammel@mozilla.com>
parents:
diff changeset
39 main()