summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipalib/cli.py19
-rw-r--r--ipalib/plugins/f_misc.py20
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)