#!/usr/bin/env python import os import optparse import sys # Add lib to path sys.path.insert(0,os.path.abspath(os.path.join(__file__,'../..'))) import wizard.command def main(): usage = """usage: %prog [-s|--versions] COMMAND [ARGS] Wizard is a Git-based autoinstall management system for scripts. Its commands are: info Reports information about an autoinstall 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.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 directory, or a file containing a newline separated list of 'all autoinstalls' (for testing).") # Find the end of the "global" options options, args = parser.parse_args() rest_argv = args[1:] command = args[0] # shouldn't fail if command == "help": try: getattr(wizard.command, rest_argv[0]).main(['-h'], options) except AttributeError: parser.error("invalid action") except IndexError: parser.print_help() raise SystemExit(-1) # Dispatch commands try: command_module = getattr(wizard.command, command) except AttributeError: parser.error("invalid action") command_module.main(rest_argv, options) if __name__ == "__main__": main()