diff options
author | Doug Hellmann <doug.hellmann@dreamhost.com> | 2012-06-20 17:27:08 -0400 |
---|---|---|
committer | Doug Hellmann <doug.hellmann@dreamhost.com> | 2012-06-20 17:27:08 -0400 |
commit | 83469ad81a27f0b264bd93904b2b172fd889cad9 (patch) | |
tree | 5767811612dbf0c0918b4d798bacc56cb5120283 /cliff/help.py | |
parent | 9bb0a4a13acfce6a0924514b883417875a1143dc (diff) | |
download | cliff-83469ad81a27f0b264bd93904b2b172fd889cad9.tar.gz |
Doc updates for API changes.1.0
Clean up docstrings.
Bump version to 1.0.
Change-Id: I1047c637ffed4ffac8bffbdaa1bddc56895716d9
Diffstat (limited to 'cliff/help.py')
-rw-r--r-- | cliff/help.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/cliff/help.py b/cliff/help.py index 49cfd16..9a7f848 100644 --- a/cliff/help.py +++ b/cliff/help.py @@ -1,4 +1,5 @@ import argparse +import logging import sys from .command import Command @@ -12,13 +13,22 @@ class HelpAction(argparse.Action): instance, passed in as the "default" value for the action. """ def __call__(self, parser, namespace, values, option_string=None): + log = logging.getLogger(__name__) app = self.default parser.print_help(app.stdout) app.stdout.write('\nCommands:\n') command_manager = app.command_manager for name, ep in sorted(command_manager): - factory = ep.load() - cmd = factory(self, None) + try: + factory = ep.load() + except Exception as err: + app.stdout.write('Could not load %r\n' % ep) + continue + try: + cmd = factory(self, None) + except Exception as err: + app.stdout.write('Could not instantiate %r: %s\n' % (ep, err)) + continue one_liner = cmd.get_description().split('\n')[0] app.stdout.write(' %-13s %s\n' % (name, one_liner)) sys.exit(0) |