summaryrefslogtreecommitdiff
path: root/cliapp/app.py
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2013-01-19 19:08:54 +0000
committerLars Wirzenius <liw@liw.fi>2013-01-19 19:08:54 +0000
commit87eb9dba090cd16748d0ef01b0980dc89762fea8 (patch)
tree2b5483a923b188a33d3cb66aa1eb79a74712dcd9 /cliapp/app.py
parentd82e744b964ce8bc4ff872bb98b2efb39c31be68 (diff)
downloadcliapp-87eb9dba090cd16748d0ef01b0980dc89762fea8.tar.gz
Start a text formatting class
Diffstat (limited to 'cliapp/app.py')
-rw-r--r--cliapp/app.py17
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):