diff options
author | 2024-01-05 15:42:39 +0100 | |
---|---|---|
committer | 2024-01-05 16:03:40 +0100 | |
commit | 28e1642efc3c05eb01198faa9047930d9955015f (patch) | |
tree | 2b7489d37c72ec6a9b0bb28382be1c69d8fcc280 /pydis_core | |
parent | bump version & changelog (diff) |
expose the pagination utils from the pydis_core package
Diffstat (limited to 'pydis_core')
-rw-r--r-- | pydis_core/__init__.py | 4 | ||||
-rw-r--r-- | pydis_core/utils/__init__.py | 4 | ||||
-rw-r--r-- | pydis_core/utils/pagination.py (renamed from pydis_core/utils/paginator.py) | 14 |
3 files changed, 15 insertions, 7 deletions
diff --git a/pydis_core/__init__.py b/pydis_core/__init__.py index 94f4ac10..a00a9fd4 100644 --- a/pydis_core/__init__.py +++ b/pydis_core/__init__.py @@ -2,6 +2,7 @@ from pydis_core import async_stats, exts, site_api, utils from pydis_core._bot import BotBase, StartupError +from pydis_core.utils.pagination import EmptyPaginatorEmbedError, LinePaginator, PaginationEmojis __all__ = [ async_stats, @@ -10,6 +11,9 @@ __all__ = [ utils, site_api, StartupError, + LinePaginator, + PaginationEmojis, + EmptyPaginatorEmbedError ] __all__ = [module.__name__ for module in __all__] diff --git a/pydis_core/utils/__init__.py b/pydis_core/utils/__init__.py index 5fecf0bf..e14b9e12 100644 --- a/pydis_core/utils/__init__.py +++ b/pydis_core/utils/__init__.py @@ -11,6 +11,8 @@ from pydis_core.utils import ( interactions, logging, members, + messages, + pagination, paste_service, regex, scheduling, @@ -45,6 +47,8 @@ __all__ = [ interactions, logging, members, + messages, + pagination, paste_service, regex, scheduling, diff --git a/pydis_core/utils/paginator.py b/pydis_core/utils/pagination.py index f6c0f3cc..a87bb290 100644 --- a/pydis_core/utils/paginator.py +++ b/pydis_core/utils/pagination.py @@ -246,7 +246,7 @@ class LinePaginator(Paginator): >>> await LinePaginator.paginate(pagination_emojis, [line for line in lines], ctx, embed) """ paginator = cls(prefix=prefix, suffix=suffix, max_size=max_size, - max_lines=max_lines, scale_to_size=scale_to_size, pagination_emojis=pagination_emojis) + max_lines=max_lines, scale_to_size=scale_to_size) current_page = 0 if not restrict_to_user: @@ -313,7 +313,7 @@ class LinePaginator(Paginator): log.debug("Adding emoji reactions to message...") - pagination_emoji = list(paginator.pagination_emojis.dict().values()) + pagination_emoji = list(pagination_emojis.model_dump().values()) for emoji in pagination_emoji: # Add all the applicable emoji to the message @@ -339,7 +339,7 @@ class LinePaginator(Paginator): log.debug("Timed out waiting for a reaction") break # We're done, no reactions for the last 5 minutes - if str(reaction.emoji) == paginator.pagination_emojis.delete: + if str(reaction.emoji) == pagination_emojis.delete: log.debug("Got delete reaction") return await message.delete() if reaction.emoji in pagination_emoji: @@ -351,20 +351,20 @@ class LinePaginator(Paginator): if e.code != 50083: raise e - if reaction.emoji == paginator.pagination_emojis.first: + if reaction.emoji == pagination_emojis.first: current_page = 0 log.debug(f"Got first page reaction - changing to page 1/{total_pages}") - elif reaction.emoji == paginator.pagination_emojis.last: + elif reaction.emoji == pagination_emojis.last: current_page = len(paginator.pages) - 1 log.debug(f"Got last page reaction - changing to page {current_page + 1}/{total_pages}") - elif reaction.emoji == paginator.pagination_emojis.left: + elif reaction.emoji == pagination_emojis.left: if current_page <= 0: log.debug("Got previous page reaction, but we're on the first page - ignoring") continue current_page -= 1 log.debug(f"Got previous page reaction - changing to page {current_page + 1}/{total_pages}") - elif reaction.emoji == paginator.pagination_emojis.right: + elif reaction.emoji == pagination_emojis.right: if current_page >= len(paginator.pages) - 1: log.debug("Got next page reaction, but we're on the last page - ignoring") continue |