class Paginator: def __init__(self, listdata, pagesize): self.listdata = listdata self.pagesize = pagesize def GetPage(self, page_index): page_index = int(page_index) - 1 page_list = [] cur_index = 0 max_index = 0 if self.listdata: max_index, over = divmod(len(self.listdata), self.pagesize) if max_index and not over: max_index -= 1 if max_index < 0: max_index = 0 cur_index = int(page_index) if cur_index < 0: cur_index = 0 if cur_index > max_index: cur_index = max_index offset = cur_index * self.pagesize page_list = list(self.listdata[offset: offset + self.pagesize]) return cur_index, max_index, page_list