From 45ab2e8db759e626580b8702438b5e1f304dd193 Mon Sep 17 00:00:00 2001 From: Masayuki Igawa Date: Mon, 10 Dec 2012 19:18:02 +0900 Subject: [PATCH] Fix keystoneclient user-list output order keystone user-list output is ordered by 'id' now. But this order(by 'id') is not human-friendly. Sorting by 'name' is easy to identify a user. This patch fixes this problem. Fixes bug 1073437 Change-Id: I00b1f46c248544157e09b2efccfff63a1f0426aa --- keystoneclient/utils.py | 6 ++++-- keystoneclient/v2_0/shell.py | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/keystoneclient/utils.py b/keystoneclient/utils.py index 225afe798..eae149e37 100644 --- a/keystoneclient/utils.py +++ b/keystoneclient/utils.py @@ -20,7 +20,7 @@ def pretty_choice_list(l): return ', '.join("'%s'" % i for i in l) -def print_list(objs, fields, formatters={}): +def print_list(objs, fields, formatters={}, order_by=None): pt = prettytable.PrettyTable([f for f in fields], caching=False) pt.aligns = ['l' for f in fields] @@ -37,7 +37,9 @@ def print_list(objs, fields, formatters={}): row.append(data) pt.add_row(row) - print pt.get_string(sortby=fields[0]) + if order_by is None: + order_by = fields[0] + print pt.get_string(sortby=order_by) def _word_wrap(string, max_length=0): diff --git a/keystoneclient/v2_0/shell.py b/keystoneclient/v2_0/shell.py index d13041d10..93ab7afde 100755 --- a/keystoneclient/v2_0/shell.py +++ b/keystoneclient/v2_0/shell.py @@ -44,7 +44,8 @@ def require_service_catalog(f): def do_user_list(kc, args): """List users""" users = kc.users.list(tenant_id=args.tenant_id) - utils.print_list(users, ['id', 'name', 'enabled', 'email']) + utils.print_list(users, ['id', 'name', 'enabled', 'email'], + order_by='name') @utils.arg('id', metavar='', help='User ID to display')