diff options
author | Rob Crittenden <rcritten@redhat.com> | 2011-10-18 13:32:36 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2011-10-20 18:25:27 -0400 |
commit | f098b213eb3d2e8e5d47689a226f81a0d1b35262 (patch) | |
tree | eae0a79736c2e38e8d8759e400b6fd000493218b /ipalib | |
parent | 9a039acb224ab3dd6c739f141233000b50c28e6f (diff) | |
download | freeipa-f098b213eb3d2e8e5d47689a226f81a0d1b35262.tar.gz freeipa-f098b213eb3d2e8e5d47689a226f81a0d1b35262.tar.xz freeipa-f098b213eb3d2e8e5d47689a226f81a0d1b35262.zip |
Fix problems in help system
Fixes 3 issues:
- If a topic has all its commands disabled, it should be disabled
- If a command is disabled its help should be disabled
- The show-mappings help was missing a doc string so no help was displayed
https://fedorahosted.org/freeipa/ticket/1998
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/cli.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py index 06e7b1c47..7fe808755 100644 --- a/ipalib/cli.py +++ b/ipalib/cli.py @@ -748,6 +748,8 @@ class help(frontend.Local): self.print_commands(name) elif name in self.Command: cmd = self.Command[name] + if cmd.NO_CLI: + raise HelpError(topic=name) print unicode(_('Purpose: %s')) % unicode(_(cmd.doc)).strip() self.Backend.cli.build_parser(cmd).print_help() elif mod_name in sys.modules: @@ -805,6 +807,9 @@ class help(frontend.Local): m = '%s.%s' % (self._PLUGIN_BASE_MODULE, topic) doc = (unicode(_(sys.modules[m].__doc__)) or '').strip() + if topic not in self.Command and len(commands) == 0: + raise HelpError(topic=topic) + print doc if len(commands) > 1: print '' @@ -814,6 +819,9 @@ class help(frontend.Local): print "\n" class show_mappings(frontend.Command): + """ + Show mapping of LDAP attributes to command-line option. + """ takes_args = ( Str('command_name', label=_('Command name'), |