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