From: Greg Price Date: Mon, 21 Dec 2009 01:26:02 +0000 (-0500) Subject: Deduplicate the code in auth.fcgi and unauth.fcgi X-Git-Tag: 0.1.0^2~2 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/commitdiff_plain/06d55379f8eaaffe42ca5a1ac59e1cb0633c12e9?ds=inline Deduplicate the code in auth.fcgi and unauth.fcgi But call the reunited code "invirt.fcgi" rather than the old "main.fcgi", which was always annoying for tab-completion against "main.py". svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2733 --- diff --git a/code/auth.fcgi b/code/auth.fcgi deleted file mode 100755 index a200449..0000000 --- a/code/auth.fcgi +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/python -"""Main FastCGI entry point for authenticated web interface""" - -import cherrypy -import os -import sys -from main import InvirtWeb - -dev = False -base_dir = os.path.dirname(__file__) - -def usage(): - print >>sys.stderr, """%s [config] - -Run server as FastCGI, with CherryPy config from "main.conf". - -With `config`, run standalone with CherryPy config from `config`. -""" % sys.argv[0] - sys.exit(2) - -if __name__ == "__main__": - if len(sys.argv) > 2: - usage() - if len(sys.argv) > 1: - if sys.argv[1] in ('-h', '--help'): - usage() - conf_file = sys.argv[1] - dev = True - else: - conf_file = os.path.join(base_dir, 'main.conf') - - app_config = { - '/': { - 'tools.invirtwebstate.on': True, - }, - } - - app = cherrypy.tree.mount(InvirtWeb(), - '/', - app_config) - 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(cherrypy.tree) - server.run() diff --git a/code/auth.fcgi b/code/auth.fcgi new file mode 120000 index 0000000..b94e858 --- /dev/null +++ b/code/auth.fcgi @@ -0,0 +1 @@ +invirt.fcgi \ No newline at end of file diff --git a/code/invirt.fcgi b/code/invirt.fcgi new file mode 100644 index 0000000..385b562 --- /dev/null +++ b/code/invirt.fcgi @@ -0,0 +1,61 @@ +#!/usr/bin/python +"""Main FastCGI entry point for web interface""" + +import cherrypy +import os +import sys + +import main + +dev = False +base_dir = os.path.dirname(__file__) + +def usage(): + print >>sys.stderr, """%s [config] + +Run server as FastCGI, with CherryPy config from "main.conf". + +With `config`, run standalone with CherryPy config from `config`. + +Run this script as either 'auth.fcgi' or 'unauth.fcgi', to get +the authenticated or unauthenticated site respectively. +""" % sys.argv[0] + sys.exit(2) + +if __name__ == "__main__": + if len(sys.argv) > 2: + usage() + if len(sys.argv) > 1: + if sys.argv[1] in ('-h', '--help'): + usage() + conf_file = sys.argv[1] + dev = True + else: + conf_file = os.path.join(base_dir, 'main.conf') + + app_config = { + '/': { + 'tools.invirtwebstate.on': True, + }, + } + + if os.path.basename(sys.argv[0]).startswith('auth'): + root = InvirtWeb() + elif os.path.basename(sys.argv[0]).startswith('unauth'): + root = InvirtUnauthWeb() + else: + usage() + + app = cherrypy.tree.mount(root, '/', app_config) + 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(cherrypy.tree) + server.run() diff --git a/code/unauth.fcgi b/code/unauth.fcgi deleted file mode 100755 index 8dfbb98..0000000 --- a/code/unauth.fcgi +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/python -"""Main FastCGI entry point for unauthenticated web interface""" - -import cherrypy -import os -import sys -from main import InvirtUnauthWeb - -dev = False -base_dir = os.path.dirname(__file__) - -def usage(): - print >>sys.stderr, """%s [config] - -Run server as FastCGI, with CherryPy config from "main.conf". - -With `config`, run standalone with CherryPy config from `config`. -""" % sys.argv[0] - sys.exit(2) - -if __name__ == "__main__": - if len(sys.argv) > 2: - usage() - if len(sys.argv) > 1: - if sys.argv[1] in ('-h', '--help'): - usage() - conf_file = sys.argv[1] - dev = True - else: - conf_file = os.path.join(base_dir, 'main.conf') - - app_config = { - '/': { - 'tools.invirtwebstate.on': True, - }, - } - - app = cherrypy.tree.mount(InvirtUnauthWeb(), - '/', - app_config) - 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(cherrypy.tree) - server.run() diff --git a/code/unauth.fcgi b/code/unauth.fcgi new file mode 120000 index 0000000..b94e858 --- /dev/null +++ b/code/unauth.fcgi @@ -0,0 +1 @@ +invirt.fcgi \ No newline at end of file