invirt.fcgi: fix usage message, simplify option-parsing logic
authorGreg Price <price@mit.edu>
Mon, 21 Dec 2009 05:22:22 +0000 (00:22 -0500)
committerGreg Price <price@mit.edu>
Mon, 21 Dec 2009 05:22:22 +0000 (00:22 -0500)
svn path=/trunk/packages/invirt-web/; revision=2741

code/invirt.fcgi

index 0bce132..607a4ea 100755 (executable)
@@ -13,28 +13,29 @@ base_dir = os.path.dirname(__file__)
 def usage():
     argv0_dir = os.path.dirname(sys.argv[0])
     print >>sys.stderr, """%s <unauth|auth> [config]
 def usage():
     argv0_dir = os.path.dirname(sys.argv[0])
     print >>sys.stderr, """%s <unauth|auth> [config]
-%s/auth.fcgi [config]
-%s/unauth.fcgi [config]
 
 Run server as FastCGI, with CherryPy config from "main.conf".
 
 Run server as FastCGI, with CherryPy config from "main.conf".
-
 With `config`, run standalone with CherryPy config from `config`.
 
 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, or pass
-'auth' or 'unauth' as the first parameter.
+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__":
 """ % (sys.argv[0], argv0_dir, argv0_dir)
     sys.exit(2)
 
 if __name__ == "__main__":
-    if len(sys.argv) > 3 or len(sys.argv) == 1 or '-h' in sys.argv or '--help' in sys.argv:
+    if '-h' in sys.argv or '--help' in sys.argv:
         usage()
         usage()
+    if not (2 <= len(sys.argv) <= 3):
+        usage()
+
+    mode = sys.argv[1]
     if len(sys.argv) == 3:
     if len(sys.argv) == 3:
-        mode = sys.argv[1]
         conf_file = sys.argv[2]
         dev = True
     else:
         conf_file = sys.argv[2]
         dev = True
     else:
-        mode = sys.argv[1]
         conf_file = os.path.join(base_dir, 'main.conf')
 
     app_config = {
         conf_file = os.path.join(base_dir, 'main.conf')
 
     app_config = {