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
This commit is contained in:
Masayuki Igawa
2012-12-10 19:18:02 +09:00
parent 095cdd1057
commit 45ab2e8db7
2 changed files with 6 additions and 3 deletions

View File

@@ -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):

View File

@@ -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='<user-id>', help='User ID to display')