diff options
-rw-r--r-- | cliff/app.py | 2 | ||||
-rw-r--r-- | cliff/help.py | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/cliff/app.py b/cliff/app.py index 119f78a..eec2d5c 100644 --- a/cliff/app.py +++ b/cliff/app.py @@ -90,7 +90,7 @@ class App(object): '-h', '--help', action=HelpAction, nargs=0, - default=self.command_manager, # tricky + default=self, # tricky help="show this help message and exit", ) parser.add_argument( diff --git a/cliff/help.py b/cliff/help.py index 391d8cc..2ac8bc4 100644 --- a/cliff/help.py +++ b/cliff/help.py @@ -12,15 +12,15 @@ class HelpAction(argparse.Action): instance, passed in as the "default" value for the action. """ def __call__(self, parser, namespace, values, option_string=None): - parser.print_help() - print('') - print('Commands:') - command_manager = self.default + 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) one_liner = cmd.get_description().split('\n')[0] - print(' %-13s %s' % (name, one_liner)) + app.stdout.write(' %-13s %s\n' % (name, one_liner)) sys.exit(0) @@ -47,5 +47,5 @@ class HelpCommand(Command): cmd_parser = cmd.get_parser(full_name) else: cmd_parser = self.get_parser(' '.join([self.app.NAME, 'help'])) - cmd_parser.parse_args(['--help']) + cmd_parser.print_help(self.app.stdout) return 0 |