Add the ability to specify the sort dir for each key

Adds client code to consume API modified in change
Ib43b53abfba7cb5789d916a014376cf38fc5245b

Extends CLI for v2 with multiple sort dirs
Example:
glance --os-image-api-version 2 image-list \
--sort-key name --sort-dir asc --sort-key size --sort-dir desc

Implements-blueprint: glance-sorting-enhancements
DocImpact
Depends-On: Ib43b53abfba7cb5789d916a014376cf38fc5245b
Change-Id: Ia20716f3c75299f796879299da317b2e81496088
This commit is contained in:
Mike Fedosin
2015-01-20 21:55:57 +03:00
parent fc79467ff6
commit bbd27d5276
4 changed files with 92 additions and 19 deletions
+6 -3
View File
@@ -128,9 +128,9 @@ def do_image_update(gc, args):
@utils.arg('--sort-key', default=[], action='append',
choices=images.SORT_KEY_VALUES,
help='Sort image list by specified fields.')
@utils.arg('--sort-dir', default='asc',
@utils.arg('--sort-dir', default=[], action='append',
choices=images.SORT_DIR_VALUES,
help='Sort image list in specified direction.')
help='Sort image list in specified directions.')
def do_image_list(gc, args):
"""List images you can access."""
filter_keys = ['visibility', 'member_status', 'owner', 'checksum', 'tag']
@@ -152,7 +152,10 @@ def do_image_list(gc, args):
kwargs['sort_key'] = args.sort_key
else:
kwargs['sort_key'] = ['name']
kwargs['sort_dir'] = args.sort_dir
if args.sort_dir:
kwargs['sort_dir'] = args.sort_dir
else:
kwargs['sort_dir'] = ['asc']
images = gc.images.list(**kwargs)
columns = ['ID', 'Name']