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')