summaryrefslogtreecommitdiff
path: root/lib/python2.7/site-packages/pip-1.1-py2.7.egg/pip/commands/help.py
blob: 4d504c521bb9d70af9474a16439fb13b06a5217a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from pip.basecommand import (Command, command_dict,
                             load_all_commands, SUCCESS,
                             ERROR)
from pip.exceptions import CommandError
from pip.baseparser import parser


class HelpCommand(Command):
    name = 'help'
    usage = '%prog'
    summary = 'Show available commands'

    def run(self, options, args):
        load_all_commands()
        if args:
            ## FIXME: handle errors better here
            command = args[0]
            if command not in command_dict:
                raise CommandError('No command with the name: %s' % command)
            command = command_dict[command]
            command.parser.print_help()
            return SUCCESS
        parser.print_help()
        print('\nCommands available:')
        commands = list(set(command_dict.values()))
        commands.sort(key=lambda x: x.name)
        for command in commands:
            if command.hidden:
                continue
            print('  %s: %s' % (command.name, command.summary))
        return SUCCESS

HelpCommand()