7 sys.path.insert(0,os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
10 from wizard import command
13 usage = """usage: %prog COMMAND [ARGS]
15 Wizard is a Git-based autoinstall management system for scripts.
18 info Reports information about an autoinstall
19 massmigrate Performs mass migration of autoinstalls of an application
20 migrate Migrate autoinstalls from old format to Git-based format
21 summary Generate statistics (see help for subcommands)
22 upgrade Upgrades an autoinstall to the latest version
24 See '%prog help COMMAND' for more information on a specific command."""
26 parser = optparse.OptionParser(usage)
27 parser.disable_interspersed_args()
28 _, args = parser.parse_args() # no global options
30 baton = command.OptionBaton()
31 baton.add("--versions-path", dest="versions_path",
32 default="/afs/athena.mit.edu/contrib/scripts/sec-tools/store/versions",
33 help="Location of parallel-find output directory, or a file containing a newline separated list of 'all autoinstalls' (for testing).")
35 command_name = args[0]
39 if command_name == "help":
41 get_command(rest_argv[0]).main(['--help'], baton)
42 except (AttributeError, ImportError):
43 parser.error("invalid action")
49 command_module = get_command(command_name)
50 except (AttributeError, ImportError):
51 parser.error("invalid action")
52 command_module.main(rest_argv, baton)
54 def get_command(name):
55 __import__("wizard.command." + name)
56 return getattr(wizard.command, name)
58 if __name__ == "__main__":