From: Quentin Smith Date: Sun, 9 Aug 2009 22:45:19 +0000 (-0400) Subject: Basic CherryPy FastCGI handler X-Git-Tag: 0.1.0^2~75 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/8f7f618a72a975abf592788212301fc315c21d55?ds=sidebyside Basic CherryPy FastCGI handler svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2660 --- diff --git a/code/main.fcgi b/code/main.fcgi index b2c7031..ac34a64 100755 --- a/code/main.fcgi +++ b/code/main.fcgi @@ -1,3 +1,30 @@ #!/usr/bin/python -import main -main.main() +"""Main FastCGI entry point for web interface""" + +import cherrypy +import os +import sys +from main import InvirtWeb + +dev = False +base_dir = os.path.dirname(__file__) + +if __name__=="__main__": + if len(sys.argv) > 1: + conf_file = sys.argv[1] + dev = True + else: + conf_file = os.path.join(base_dir, 'main.conf') + app = cherrypy.tree.mount(InvirtWeb(), '/' if dev else '/main.fcgi') + app.merge(conf_file) + cherrypy.config.update(conf_file) + + if dev: + cherrypy.server.quickstart() + cherrypy.engine.start() + cherrypy.engine.block() + else: + cherrypy.engine.start(blocking=False) + from flup.server.fcgi import WSGIServer + server = WSGIServer(app) + server.run()