diff options
-rw-r--r-- | ipalib/cli.py | 19 | ||||
-rw-r--r-- | ipalib/plugins/f_misc.py | 20 |
2 files changed, 20 insertions, 19 deletions
diff --git a/ipalib/cli.py b/ipalib/cli.py index dd20b3654..fc58f2e95 100644 --- a/ipalib/cli.py +++ b/ipalib/cli.py @@ -381,29 +381,10 @@ class show_api(frontend.Application): self.__traverse_namespace(n, attr, lines, tab + 2) -class plugins(frontend.Application): - """Show all loaded plugins""" - - def run(self): - plugins = sorted(self.api.plugins, key=lambda o: o.plugin) - return tuple( - (p.plugin, p.bases) for p in plugins - ) - - def output_for_cli(self, textui, result, **kw): - textui.print_name(self.name) - for (plugin, bases) in result: - textui.print_indented( - '%s: %s' % (plugin, ', '.join(bases)) - ) - textui.print_count(result, '%d plugin loaded', '%s plugins loaded') - - cli_application_commands = ( help, console, show_api, - plugins, ) diff --git a/ipalib/plugins/f_misc.py b/ipalib/plugins/f_misc.py index b2f97c71a..a2f0fa4e4 100644 --- a/ipalib/plugins/f_misc.py +++ b/ipalib/plugins/f_misc.py @@ -67,3 +67,23 @@ class env(LocalOrRemote): textui.print_count(result, '%d variables') api.register(env) + + +class plugins(LocalOrRemote): + """Show all loaded plugins""" + + def execute(self, **options): + plugins = sorted(self.api.plugins, key=lambda o: o.plugin) + return tuple( + (p.plugin, p.bases) for p in plugins + ) + + def output_for_cli(self, textui, result, **options): + textui.print_name(self.name) + for (plugin, bases) in result: + textui.print_indented( + '%s: %s' % (plugin, ', '.join(bases)) + ) + textui.print_count(result, '%d plugin loaded', '%s plugins loaded') + +api.register(plugins) |