summaryrefslogtreecommitdiff
path: root/openstackclient/common/module.py
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2014-08-27 23:26:42 -0500
committerDean Troyer <dtroyer@gmail.com>2014-10-08 21:57:26 -0500
commitd32185cb34495b0af4b4e646a93aedf4d7f86d25 (patch)
treef975c45647726706c1826a902e085ad507a0a467 /openstackclient/common/module.py
parent5b6c24fdb0154bbbf41f0b05211001d783b69635 (diff)
downloadpython-openstackclient-d32185cb34495b0af4b4e646a93aedf4d7f86d25.tar.gz
Add 'command list' command
* Add method to CommandManager to retrieve command names by group * Add ListCommands To list command groups loaded by cliff Change-Id: I37fe2471aa2fafa8aa223159452d52b1981021d6
Diffstat (limited to 'openstackclient/common/module.py')
-rw-r--r--openstackclient/common/module.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/openstackclient/common/module.py b/openstackclient/common/module.py
index 7f9c52db..356cdca3 100644
--- a/openstackclient/common/module.py
+++ b/openstackclient/common/module.py
@@ -19,9 +19,25 @@ import logging
import six
import sys
+from cliff import lister
from cliff import show
+class ListCommand(lister.Lister):
+ """List recognized commands by group"""
+
+ auth_required = False
+ log = logging.getLogger(__name__ + '.ListCommand')
+
+ def take_action(self, parsed_args):
+ self.log.debug('take_action(%s)', parsed_args)
+ cm = self.app.command_manager
+ groups = cm.get_command_groups()
+
+ columns = ('Command Group', 'Commands')
+ return (columns, ((c, cm.get_command_names(group=c)) for c in groups))
+
+
class ListModule(show.ShowOne):
"""List module versions"""