nfv/nfv/nfv-vim/nfv_vim/nfvi/objects/v1/_paging.py

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