X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/d279a58a65e4f99a408001a12d50da461dc1e038..2c3637ad757b199a3087f2d232a795efb50e7728:/code/invirt.fcgi diff --git a/code/invirt.fcgi b/code/invirt.fcgi index c01eb7f..607a4ea 100755 --- a/code/invirt.fcgi +++ b/code/invirt.fcgi @@ -11,24 +11,29 @@ dev = False base_dir = os.path.dirname(__file__) def usage(): - print >>sys.stderr, """%s [config] + argv0_dir = os.path.dirname(sys.argv[0]) + 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] +Serve the authenticated or unauthenticated site according to +the first argument. + +Helper scripts "auth.fcgi" and "unauth.fcgi" are provided to +facilitate running the server with no arguments. +""" % (sys.argv[0], argv0_dir, argv0_dir) sys.exit(2) if __name__ == "__main__": - if len(sys.argv) > 2: + if '-h' in sys.argv or '--help' in sys.argv: usage() - if len(sys.argv) > 1: - if sys.argv[1] in ('-h', '--help'): - usage() - conf_file = sys.argv[1] + if not (2 <= len(sys.argv) <= 3): + usage() + + mode = sys.argv[1] + if len(sys.argv) == 3: + conf_file = sys.argv[2] dev = True else: conf_file = os.path.join(base_dir, 'main.conf') @@ -39,10 +44,12 @@ if __name__ == "__main__": }, } - if os.path.basename(sys.argv[0]).startswith('auth'): + if mode.startswith('auth'): root = main.InvirtWeb() - elif os.path.basename(sys.argv[0]).startswith('unauth'): + app_config['/']['tools.mako.module_directory'] = "/tmp/invirt-auth-web-templatecache" + elif mode.startswith('unauth'): root = main.InvirtUnauthWeb() + app_config['/']['tools.mako.module_directory'] = "/tmp/invirt-unauth-web-templatecache" else: usage()