~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/help.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
83
83
    from bzrlib.commands import get_cmd_object
84
84
 
85
85
    cmdname = str(cmdname)
86
 
 
87
 
    if outfile is None:
88
 
        outfile = sys.stdout
89
 
 
90
86
    cmd_object = get_cmd_object(cmdname)
91
87
 
 
88
    return help_on_command_object(cmd_object, cmdname, outfile)
 
89
 
 
90
 
 
91
def help_on_command_object(cmd_object, cmdname, outfile=None):
 
92
    """Generate help on the cmd_object with a supplied name of cmdname.
 
93
 
 
94
    :param cmd_object: An instance of a Command.
 
95
    :param cmdname: The user supplied name. This might be an alias for example.
 
96
    :param outfile: A stream to write the help to.
 
97
    """
 
98
    if outfile is None:
 
99
        outfile = sys.stdout
 
100
 
92
101
    doc = cmd_object.help()
93
102
    if doc is None:
94
103
        raise NotImplementedError("sorry, no detailed help yet for %r" % cmdname)
107
116
    if doc[-1] != '\n':
108
117
        outfile.write('\n')
109
118
    help_on_command_options(cmd_object, outfile)
 
119
    see_also = cmd_object.get_see_also()
 
120
    if see_also:
 
121
        outfile.write('\nSee also: ')
 
122
        outfile.write(', '.join(see_also))
 
123
        outfile.write('\n')
110
124
 
111
125
 
112
126
def help_on_command_options(cmd, outfile=None):