diff options
author | Lars Wirzenius <liw@liw.fi> | 2013-01-19 19:08:54 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2013-01-19 19:08:54 +0000 |
commit | 87eb9dba090cd16748d0ef01b0980dc89762fea8 (patch) | |
tree | 2b5483a923b188a33d3cb66aa1eb79a74712dcd9 /cliapp/app.py | |
parent | d82e744b964ce8bc4ff872bb98b2efb39c31be68 (diff) | |
download | cliapp-87eb9dba090cd16748d0ef01b0980dc89762fea8.tar.gz |
Start a text formatting class
Diffstat (limited to 'cliapp/app.py')
-rw-r--r-- | cliapp/app.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/cliapp/app.py b/cliapp/app.py index 32c8ab5..bc43f21 100644 --- a/cliapp/app.py +++ b/cliapp/app.py @@ -294,14 +294,25 @@ class Application(object): def _format_description(self): '''Format OptionParser description, with subcommand support.''' if self.subcommands: - paras = [] + summaries = [] for cmd in sorted(self.subcommands.keys()): - paras.append(self._format_subcommand_description(cmd)) - cmd_desc = '\n\n'.join(paras) + summaries.append( + ' %s\n' % self._format_subcommand_summary(cmd)) + cmd_desc = ''.join(summaries) return '%s\n\n%s' % (self._description or '', cmd_desc) else: return self._description + def _format_subcommand_summary(self, cmd): # pragma: no cover + method = self.subcommands[cmd] + doc = method.__doc__ or '' + lines = doc.splitlines() + if lines: + summary = lines[0].strip() + else: + summary = '' + return '* %s: %s' % (cmd, summary) + def _format_subcommand_description(self, cmd): # pragma: no cover def remove_empties(lines): |