summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorTom Jose Kalapura <tomjosekal@gmail.com>2016-09-09 22:17:50 -0700
committerMike Perez <thingee@gmail.com>2017-03-08 08:47:35 -0800
commit6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16 (patch)
tree686a7e6b6d564df3436cdb6feab17da2bd9c94cd /openstackclient/identity
parented4454c5bba8c912c310c92f94a7c17a2b44ee10 (diff)
downloadpython-openstackclient-6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16.tar.gz
Add sort support to project list
Add sort support to project list by sorting items in the client side. By default list will be sorted by name. Change-Id: I00011406846b4003aff075eeeb88ac18fa5e2820 Closes-Bug: #1596818
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v2_0/project.py9
-rw-r--r--openstackclient/identity/v3/project.py9
2 files changed, 18 insertions, 0 deletions
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py
index fc5c9201..5c3ec730 100644
--- a/openstackclient/identity/v2_0/project.py
+++ b/openstackclient/identity/v2_0/project.py
@@ -136,6 +136,13 @@ class ListProject(command.Lister):
default=False,
help=_('List additional fields in output'),
)
+ parser.add_argument(
+ '--sort',
+ metavar='<key>[:<direction>]',
+ help=_('Sort output by selected keys and directions (asc or desc) '
+ '(default: asc), repeat this option to specify multiple '
+ 'keys and directions.'),
+ )
return parser
def take_action(self, parsed_args):
@@ -144,6 +151,8 @@ class ListProject(command.Lister):
else:
columns = ('ID', 'Name')
data = self.app.client_manager.identity.tenants.list()
+ if parsed_args.sort:
+ data = utils.sort_items(data, parsed_args.sort)
return (columns,
(utils.get_item_properties(
s, columns,
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py
index 56c4fbc8..861847d3 100644
--- a/openstackclient/identity/v3/project.py
+++ b/openstackclient/identity/v3/project.py
@@ -180,6 +180,13 @@ class ListProject(command.Lister):
default=False,
help=_('List additional fields in output'),
)
+ parser.add_argument(
+ '--sort',
+ metavar='<key>[:<direction>]',
+ help=_('Sort output by selected keys and directions (asc or desc) '
+ '(default: asc), repeat this option to specify multiple '
+ 'keys and directions.'),
+ )
return parser
def take_action(self, parsed_args):
@@ -208,6 +215,8 @@ class ListProject(command.Lister):
kwargs['user'] = user_id
data = identity_client.projects.list(**kwargs)
+ if parsed_args.sort:
+ data = utils.sort_items(data, parsed_args.sort)
return (columns,
(utils.get_item_properties(
s, columns,