Adds the ability to sort images with multiple keys
Adds client code to consume API modified in change Ib7a6aeb2df3bc5d23fe8e070290b5bfcab00c0f5 Extends CLI for v2 with multiple sort keys Example: glance --os-image-api-version 2 image-list --sort-key name --sort-key size Implements-blueprint: glance-sorting-enhancements Change-Id: If79779a4c52c8dc5c4f39192d3d247335a76ba24 DocImpact Closes-Bug: 1221274
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
from glanceclient.common import progressbar
|
||||
from glanceclient.common import utils
|
||||
from glanceclient import exc
|
||||
from glanceclient.v2 import images
|
||||
from glanceclient.v2 import tasks
|
||||
import json
|
||||
import os
|
||||
@@ -124,6 +125,12 @@ def do_image_update(gc, args):
|
||||
help='Displays images that match the checksum.')
|
||||
@utils.arg('--tag', metavar='<TAG>', action='append',
|
||||
help="Filter images by a user-defined tag.")
|
||||
@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',
|
||||
choices=images.SORT_DIR_VALUES,
|
||||
help='Sort image list in specified direction.')
|
||||
def do_image_list(gc, args):
|
||||
"""List images you can access."""
|
||||
filter_keys = ['visibility', 'member_status', 'owner', 'checksum', 'tag']
|
||||
@@ -141,6 +148,11 @@ def do_image_list(gc, args):
|
||||
kwargs['limit'] = args.limit
|
||||
if args.page_size is not None:
|
||||
kwargs['page_size'] = args.page_size
|
||||
if args.sort_key:
|
||||
kwargs['sort_key'] = args.sort_key
|
||||
else:
|
||||
kwargs['sort_key'] = ['name']
|
||||
kwargs['sort_dir'] = args.sort_dir
|
||||
|
||||
images = gc.images.list(**kwargs)
|
||||
columns = ['ID', 'Name']
|
||||
|
||||
Reference in New Issue
Block a user