okta/framework/PagedResults.py (17 lines of code) (raw):

from okta.framework.Utils import Utils class PagedResults(object): def __init__(self, response, target_class): self.response = response self.__target_class = target_class def is_last_page(self): return not ("next" in self.response.links) def is_first_page(self): return not ("previous" in self.response.links) def is_only_page(self): return self.is_last_page() and self.is_first_page() @property def next_url(self): return self.response.links.get("next").get("url") @property def result(self): return Utils.deserialize(self.response.text, self.__target_class)