74 lines
1.6 KiB
Python
Executable File
74 lines
1.6 KiB
Python
Executable File
#
|
|
# Copyright (c) 2015-2016 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
import uuid
|
|
|
|
|
|
class Paging(object):
|
|
"""
|
|
Paging Object
|
|
"""
|
|
def __init__(self, page_limit):
|
|
self._page_request_id = str(uuid.uuid4())
|
|
self._page_limit = page_limit
|
|
self._next_page = None
|
|
self._done = False
|
|
|
|
@property
|
|
def page_request_id(self):
|
|
"""
|
|
Returns the page request identifier
|
|
"""
|
|
return self._page_request_id
|
|
|
|
@property
|
|
def page_limit(self):
|
|
"""
|
|
Returns the page limit set for this iterator
|
|
"""
|
|
return self._page_limit
|
|
|
|
@property
|
|
def next_page(self):
|
|
"""
|
|
Returns the next page value
|
|
"""
|
|
return self._next_page
|
|
|
|
@next_page.setter
|
|
def next_page(self, value):
|
|
"""
|
|
Set the next page value
|
|
"""
|
|
self._next_page = value
|
|
self._done = self._next_page is None
|
|
|
|
@property
|
|
def done(self):
|
|
"""
|
|
Returns true if there are no more pages
|
|
"""
|
|
return self._done
|
|
|
|
def set_page_request_id(self):
|
|
"""
|
|
Set the page request identifier
|
|
"""
|
|
self._page_request_id = str(uuid.uuid4())
|
|
|
|
def first_page(self):
|
|
"""
|
|
Restart paging at the start
|
|
"""
|
|
self._next_page = None
|
|
self._done = False
|
|
|
|
def __str__(self):
|
|
"""
|
|
Provide a string representation
|
|
"""
|
|
return ("Paging: page_limit=%s, done=%s, next_page=%s"
|
|
% (self.page_limit, self.done, self.next_page))
|