]> scripts.mit.edu Git - wizard.git/blobdiff - bin/wizard
Fix 'wizard' to print help.
[wizard.git] / bin / wizard
index 8b1597ffc272122b6843fc061f3dd36e0ec607e3..958226644238013d2307ca4785b468b2bc43bcd0 100755 (executable)
@@ -5,11 +5,11 @@ import optparse
 import sys
 
 # Add lib to path
-sys.path.insert(0,os.path.abspath(os.path.join(__file__,'../../lib')))
+sys.path.insert(0,os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
 import wizard.command
 
 def main():
-    usage = """usage: %prog [-d|--version-dir] COMMAND [ARGS]
+    usage = """usage: %prog [-s|--versions] COMMAND [ARGS]
 
 Wizard is a Git-based autoinstall management system for scripts.
 
@@ -18,27 +18,23 @@ Its commands are:
     massmigrate     Performs mass migration of autoinstalls of an application
     migrate         Migrate autoinstalls from old format to Git-based format
     summary         Generate statistics about autoinstalls
+    upgrade         Upgrades an autoinstall to the latest version
 
 See '%prog help COMMAND' for more information on a specific command."""
 
     parser = optparse.OptionParser(usage)
-    parser.add_option("-d", "--version-dir", dest="version_dir",
+    parser.disable_interspersed_args()
+    parser.add_option("-s", "--versions", dest="versions",
             default="/afs/athena.mit.edu/contrib/scripts/sec-tools/store/versions",
-            help="Location of parallel-find output")
+            help="Location of parallel-find output directory, or a file containing a newline separated list of 'all autoinstalls' (for testing).")
     # Find the end of the "global" options
-    i = 1
+    options, args = parser.parse_args()
+    rest_argv = args[1:]
     try:
-        while not sys.argv[i] or sys.argv[i][0] == '-':
-            if sys.argv[i] == "-h" or sys.argv[i] == "--help":
-                parser.print_help()
-                raise SystemExit(-1)
-            i += 1
+        command = args[0]
     except IndexError:
         parser.print_help()
         raise SystemExit(-1)
-    options, args = parser.parse_args(sys.argv[1:i+1])
-    rest_argv = sys.argv[i+1:]
-    command = args[0] # shouldn't fail
     if command == "help":
         try:
             getattr(wizard.command, rest_argv[0]).main(['-h'], options)