- if len(argv) > 1 and argv[1] == "--version":
- ToStdout("%s (ganeti %s) %s", binary, constants.VCS_VERSION,
- constants.RELEASE_VERSION)
- # Quit right away. That way we don't have to care about this special
- # argument. optparse.py does it the same.
- sys.exit(0)
-
- if len(argv) < 2 or not (argv[1] in commands or
- argv[1] in aliases):
- # let's do a nice thing
- sortedcmds = commands.keys()
- sortedcmds.sort()
-
- ToStdout("Usage: %s {command} [options...] [argument...]", binary)
- ToStdout("%s <command> --help to see details, or man %s", binary, binary)
- ToStdout("")
-
- # compute the max line length for cmd + usage
- mlen = max([len(" %s" % cmd) for cmd in commands])
- mlen = min(60, mlen) # should not get here...
-
- # and format a nice command list
- ToStdout("Commands:")
- for cmd in sortedcmds:
- cmdstr = " %s" % (cmd,)
- help_text = commands[cmd][4]
- help_lines = textwrap.wrap(help_text, 79 - 3 - mlen)
- ToStdout("%-*s - %s", mlen, cmdstr, help_lines.pop(0))
- for line in help_lines:
- ToStdout("%-*s %s", mlen, "", line)
-
- ToStdout("")
-
- return None, None, None