raito.plugins.pagination.paginators.base module

class raito.plugins.pagination.paginators.base.BasePaginator(raito, name, chat_id, bot, from_user, *, existing_message=None, current_page=1, total_pages=None, limit=20)[исходный код]

Базовые классы: IPaginator

Base paginator class.

Параметры:
  • raito (Raito)

  • name (str)

  • chat_id (int)

  • bot (Bot)

  • from_user (User)

  • existing_message (Message | None)

  • current_page (int)

  • total_pages (int | None)

  • limit (int)

property current_page: int

Get current page number.

property total_pages: int | None

Get total pages count.

property limit: int

Get items per page limit.

property mode: PaginationMode

Get pagination mode.

Исключение:

NotImplementedError – must be implemented by subclasses

async paginate()[исходный код]

Start pagination.

Тип результата:

None

get_previous_page()[исходный код]

Get previous page number with loop support.

Результат:

previous page number

Тип результата:

int

get_next_page()[исходный код]

Get next page number with loop support.

Результат:

next page number

Тип результата:

int

build_navigation()[исходный код]

Build navigation inline keyboard.

Результат:

navigation keyboard markup

Тип результата:

InlineKeyboardMarkup

classmethod calc_total_pages(total_items, limit)[исходный код]

Calculate total pages from items count.

Параметры:
  • total_items (int) – total items count

  • limit (int) – items per page

Результат:

total pages count

Тип результата:

int