several fixes about command helps
- add help on command help - add bold in do_help instead of get_command_help - get_commands_doc() returns full help
This commit is contained in:
parent
2acb5a586d
commit
82fe5f7df0
1 changed files with 12 additions and 5 deletions
|
|
@ -65,6 +65,7 @@ class ReplOptionFormatter(IndentedHelpFormatter):
|
||||||
s += '\n'
|
s += '\n'
|
||||||
s += '%s Commands:\n' % section
|
s += '%s Commands:\n' % section
|
||||||
for c in cmds:
|
for c in cmds:
|
||||||
|
c = c.split('\n')[0]
|
||||||
s += ' %s\n' % c
|
s += ' %s\n' % c
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
@ -495,12 +496,11 @@ class ReplApplication(Cmd, ConsoleApplication):
|
||||||
|
|
||||||
lines = [line.strip() for line in doc.strip().split('\n')]
|
lines = [line.strip() for line in doc.strip().split('\n')]
|
||||||
if not lines[0].startswith(command):
|
if not lines[0].startswith(command):
|
||||||
lines = [command, '\n', '\n'] + lines
|
lines = [command, ''] + lines
|
||||||
|
|
||||||
if short:
|
if short:
|
||||||
return lines[0]
|
return lines[0]
|
||||||
|
|
||||||
lines[0] = '%s%s%s' % (self.BOLD, lines[0], self.NC)
|
|
||||||
return '\n'.join(lines)
|
return '\n'.join(lines)
|
||||||
|
|
||||||
def get_commands_doc(self):
|
def get_commands_doc(self):
|
||||||
|
|
@ -513,10 +513,10 @@ class ReplApplication(Cmd, ConsoleApplication):
|
||||||
if cmd in self.hidden_commands.union(self.weboob_commands).union(['help']):
|
if cmd in self.hidden_commands.union(self.weboob_commands).union(['help']):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
d[appname].append(self.get_command_help(cmd, short=True))
|
d[appname].append(self.get_command_help(cmd))
|
||||||
if not self.DISABLE_REPL:
|
if not self.DISABLE_REPL:
|
||||||
for cmd in self.weboob_commands:
|
for cmd in self.weboob_commands:
|
||||||
d['Weboob'].append(self.get_command_help(cmd, short=True))
|
d['Weboob'].append(self.get_command_help(cmd))
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|
@ -536,6 +536,11 @@ class ReplApplication(Cmd, ConsoleApplication):
|
||||||
return self.do_quit(arg)
|
return self.do_quit(arg)
|
||||||
|
|
||||||
def do_help(self, arg=None):
|
def do_help(self, arg=None):
|
||||||
|
"""
|
||||||
|
help [COMMAND]
|
||||||
|
|
||||||
|
List commands, or get information about a command.
|
||||||
|
"""
|
||||||
if arg:
|
if arg:
|
||||||
cmd_names = set(name[3:] for name in self.get_names() if name.startswith('do_'))
|
cmd_names = set(name[3:] for name in self.get_names() if name.startswith('do_'))
|
||||||
if arg in cmd_names:
|
if arg in cmd_names:
|
||||||
|
|
@ -543,7 +548,9 @@ class ReplApplication(Cmd, ConsoleApplication):
|
||||||
if command_help is None:
|
if command_help is None:
|
||||||
logging.warning(u'Command "%s" is undocumented' % arg)
|
logging.warning(u'Command "%s" is undocumented' % arg)
|
||||||
else:
|
else:
|
||||||
self.stdout.write('%s\n' % command_help)
|
lines = command_help.split('\n')
|
||||||
|
lines[0] = '%s%s%s' % (self.BOLD, lines[0], self.NC)
|
||||||
|
self.stdout.write('%s\n' % '\n'.join(lines))
|
||||||
else:
|
else:
|
||||||
print >>sys.stderr, 'Unknown command: "%s"' % arg
|
print >>sys.stderr, 'Unknown command: "%s"' % arg
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue