help.py 927 B

123456789101112131415161718192021222324252627282930313233
  1. from pip.basecommand import Command, SUCCESS
  2. from pip.exceptions import CommandError
  3. class HelpCommand(Command):
  4. """Show help for commands"""
  5. name = 'help'
  6. usage = """
  7. %prog <command>"""
  8. summary = 'Show help for commands.'
  9. def run(self, options, args):
  10. from pip.commands import commands, get_similar_commands
  11. try:
  12. # 'pip help' with no args is handled by pip.__init__.parseopt()
  13. cmd_name = args[0] # the command we need help for
  14. except IndexError:
  15. return SUCCESS
  16. if cmd_name not in commands:
  17. guess = get_similar_commands(cmd_name)
  18. msg = ['unknown command "%s"' % cmd_name]
  19. if guess:
  20. msg.append('maybe you meant "%s"' % guess)
  21. raise CommandError(' - '.join(msg))
  22. command = commands[cmd_name]()
  23. command.parser.print_help()
  24. return SUCCESS