summaryrefslogtreecommitdiff
path: root/openstackclient/common/commandmanager.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-10-14 22:23:20 +0000
committerGerrit Code Review <review@openstack.org>2014-10-14 22:23:20 +0000
commitfa9cdef8740dffec347c8e9b1e75af7aae78c623 (patch)
treef85db85483a3c96828f03d0b5ba09159ba42a82f /openstackclient/common/commandmanager.py
parent1d9194d4cba7dd5d7211bea2a408cdf0faf249e4 (diff)
parentd32185cb34495b0af4b4e646a93aedf4d7f86d25 (diff)
downloadpython-openstackclient-fa9cdef8740dffec347c8e9b1e75af7aae78c623.tar.gz
Merge "Add 'command list' command"
Diffstat (limited to 'openstackclient/common/commandmanager.py')
-rw-r--r--openstackclient/common/commandmanager.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/openstackclient/common/commandmanager.py b/openstackclient/common/commandmanager.py
index 9901ea20..2d9575d9 100644
--- a/openstackclient/common/commandmanager.py
+++ b/openstackclient/common/commandmanager.py
@@ -16,6 +16,7 @@
"""Modify cliff.CommandManager"""
import logging
+import pkg_resources
import cliff.commandmanager
@@ -46,3 +47,17 @@ class CommandManager(cliff.commandmanager.CommandManager):
def get_command_groups(self):
"""Returns a list of the loaded command groups"""
return self.group_list
+
+ def get_command_names(self, group=None):
+ """Returns a list of commands loaded for the specified group"""
+ group_list = []
+ if group is not None:
+ for ep in pkg_resources.iter_entry_points(group):
+ cmd_name = (
+ ep.name.replace('_', ' ')
+ if self.convert_underscores
+ else ep.name
+ )
+ group_list.append(cmd_name)
+ return group_list
+ return self.commands.keys()