diff options
| author | Tom Jose Kalapura <tomjosekal@gmail.com> | 2016-09-09 22:17:50 -0700 |
|---|---|---|
| committer | Mike Perez <thingee@gmail.com> | 2017-03-08 08:47:35 -0800 |
| commit | 6c1b03bf7354fe39d61bb9cf93d2491bbb5ebb16 (patch) | |
| tree | 686a7e6b6d564df3436cdb6feab17da2bd9c94cd /openstackclient/identity | |
| parent | ed4454c5bba8c912c310c92f94a7c17a2b44ee10 (diff) | |
| download | python-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.py | 9 | ||||
| -rw-r--r-- | openstackclient/identity/v3/project.py | 9 |
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, |
