changeset 26:2ef5071aae1f

refactored build_app() out of run_server().
author Atul Varma <avarma@mozilla.com>
date Fri, 25 Jun 2010 20:02:25 -0700
parents 1e7315233967
children c0e21f72b48a
files server.py
diffstat 1 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/server.py	Fri Jun 25 19:57:36 2010 -0700
+++ b/server.py	Fri Jun 25 20:02:25 2010 -0700
@@ -19,8 +19,7 @@
 def send_email(email, token):
     print "Please send %s an email with the token %s." % (email, token)
 
-def run_server(mydir, send_email=send_email):
-    storage_dir = os.path.join(mydir, 'storage')
+def build_app(storage_dir, send_email=send_email):
     emails_file = os.path.join(storage_dir, 'attendees.json')
     challenge_dir = os.path.join(storage_dir, 'challenge-tokens')
     auth_dir = os.path.join(storage_dir, 'auth-tokens')
@@ -38,18 +37,22 @@
         profiles=ProfileStore(FileStorage(profile_dir))
         )
 
+    return server.wsgi_app
+
+def run_server(mydir, send_email=send_email, host='', port=8000):
+    api_app = build_app(os.path.join(mydir, 'storage'), send_email)
+
     static_files_dir = os.path.join(mydir, 'static-files')
     static_file_app = StaticFileApp(static_files_dir)
 
     def app(environ, start_response):
         if environ['PATH_INFO'].startswith('/api/'):
             shift_path_info(environ)
-            return server.wsgi_app(environ, start_response)
+            return api_app(environ, start_response)
 
         return static_file_app(environ, start_response)
 
-    port = 8000
-    httpd = make_server('', port, app)
+    httpd = make_server(host, port, app)
     print 'serving on port %d' % port
     httpd.serve_forever()