Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Pagination():
- def __init__(self, items=[], page_size=10) -> None:
- self.items = items
- self.__page_size = page_size
- self.__current_page = 1
- # 1 -> 7
- temp = len(self.items) // self.__page_size
- if len(self.items) % self.__page_size == 0:
- self.__page_count = 1 if not self.items else round(
- temp)
- else:
- self.__page_count = 1 if not self.items else round(
- temp) + 1
- j = 1
- self.__pages = dict()
- for i in range(0, len(self.items), self.__page_size):
- self.__pages[j] = self.items[i:i + self.__page_size]
- j += 1
- def get_items(self):
- """
- Возвращает список строк
- """
- return self.items
- def get_page_size(self):
- """
- Возвращает размер страницы
- """
- return self.__page_size
- def get_current_page(self):
- """
- Возвращает текущий номер страницы.
- """
- return self.__current_page
- def get_visible_items(self):
- """
- Возвращает элементы на текущей странице.
- """
- return self.__pages.get(self.__current_page)
- def prev_page(self,):
- """
- Переход на предыдущую страницу
- """
- if self.__current_page == 1:
- return self
- self.__current_page -= 1
- return self
- def next_page(self):
- """
- Переход на следующую страницу
- """
- if self.__current_page == self.__page_count:
- return self
- self.__current_page += 1
- return self
- def first_page(self):
- """
- Переход на первую страницу
- """
- self.__current_page = 1
- return self
- def last_page(self):
- """
- Переход на последнюю страницу
- """
- self.__current_page = self.__page_count
- return self
- def go_to_page(self, page):
- """
- Переходит на конкретную страницу
- """
- if page > self.__page_count:
- self.__current_page = self.__page_count
- elif page < 1:
- self.__current_page = 1
- return self
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement