import optparse
import sys
-# Add lib to path
sys.path.insert(0,os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
-import wizard.command
-from wizard.command import _command
+
+import wizard
+from wizard import command
def main():
usage = """usage: %prog COMMAND [ARGS]
Wizard is a Git-based autoinstall management system for scripts.
Its commands are:
+ errors Lists all broken autoinstall metadata
info Reports information about an autoinstall
+ list Lists autoinstalls, with optional filtering
massmigrate Performs mass migration of autoinstalls of an application
migrate Migrate autoinstalls from old format to Git-based format
summary Generate statistics (see help for subcommands)
parser.disable_interspersed_args()
_, args = parser.parse_args() # no global options
rest_argv = args[1:]
- baton = _command.OptionBaton()
+ baton = command.OptionBaton()
baton.add("--versions-path", dest="versions_path",
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).")
try:
- command = args[0]
+ command_name = args[0]
except IndexError:
parser.print_help()
raise SystemExit(1)
- if command == "help":
+ if command_name == "help":
try:
- get_command(rest_argv[0]).main(['--help'], baton)
- except AttributeError:
+ help_module = get_command(rest_argv[0])
+ except ImportError:
parser.error("invalid action")
except IndexError:
parser.print_help()
raise SystemExit(1)
+ help_module.main(['--help'], baton)
# Dispatch commands
try:
- command_module = get_command(command)
- except AttributeError:
+ command_module = get_command(command_name)
+ except ImportError:
parser.error("invalid action")
command_module.main(rest_argv, baton)
def get_command(name):
+ __import__("wizard.command." + name)
return getattr(wizard.command, name)
if __name__ == "__main__":