Marker support for next page in list command

Marker is required to get the next page in list api
in case there are more records available either because of
custom limit provided in request or because of default limit
configured in system (client and server).

ex: glare list all --limit=5 --marker=<artifact_id>

Change-Id: I9f5c890c46b7f1f1e6fefdb7320c4fe00a2b0972
Closes-bug: #1755995
This commit is contained in:
Kushal Agrawal 2018-04-10 16:11:26 +05:30 committed by Kushal Agrawal
parent 7118ff5d6b
commit 98d2a4deb7
2 changed files with 9 additions and 1 deletions

View File

@ -81,6 +81,11 @@ class ListArtifacts(command.Lister):
help='Comma-separated list of sort keys and directions in the '
'form of <key>[:<asc|desc>].',
)
parser.add_argument(
'--marker', '-m',
metavar='<MARKER>',
help="id of last artifact in previous list request"
)
return parser
def take_action(self, parsed_args):
@ -89,7 +94,8 @@ class ListArtifacts(command.Lister):
params = {'limit': parsed_args.limit,
'filters': [f.split('=', 1) for f in parsed_args.filter],
'sort': parsed_args.sort,
'page_size': parsed_args.page_size}
'page_size': parsed_args.page_size,
'marker': parsed_args.marker}
type_name = parsed_args.type_name

View File

@ -180,6 +180,8 @@ class Controller(object):
filters = kwargs.get('filters', [])
filters.append(('limit', page_size))
if kwargs.get('marker'):
filters.append(('marker', kwargs.get('marker')))
url_params = []
for param, items in filters: