view server.py @ 76:3936385d6c16

http: and https: URLs are now allowed again in tiny bio markdown.
author Atul Varma <avarma@mozilla.com>
date Wed, 30 Jun 2010 14:38:53 -0700
parents dbddb0083637
children
line wrap: on
line source

import os

from wsgiref.simple_server import make_server
from wsgiref.util import shift_path_info

from summitidp.static_file_serving import StaticFileApp
from summitidp.easy import make_wsgi_app

def run_server(mydir, send_email=None, host='', port=8000):
    if send_email is None:
        nicehost = host or '127.0.0.1'
        def console_send_email(email, token):
            print ("Please visit the url\n\nhttp://%s:%d#verify=%s\n\nto "
                   "validate the email address %s." % (nicehost, port,
                                                       token, email))
        send_email = console_send_email

    api_app = make_wsgi_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 api_app(environ, start_response)

        return static_file_app(environ, start_response)

    httpd = make_server(host, port, app)
    print 'serving on port %d' % port
    httpd.serve_forever()

if __name__ == '__main__':
    run_server(os.getcwd())