Skip to content

Commit 9a664ef

Browse files
committed
improve EmbedPaginator constructor, refactor class properties
1 parent 040dd0f commit 9a664ef

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

snakecore/utils/pagination.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ def __init__(
2626
self,
2727
message: discord.Message,
2828
*pages: discord.Embed,
29-
callers: Optional[Union[discord.Member, Sequence[discord.Member]]] = None,
29+
caller: Optional[Union[discord.Member, Sequence[discord.Member]]] = None,
3030
whitelisted_role_ids: Optional[Sequence[discord.Role]] = None,
31-
page_number: int = 1,
31+
start_page_number: int = 1,
3232
inactivity_timeout: Optional[int] = None,
3333
theme_color: int = 0,
3434
):
@@ -40,13 +40,13 @@ def __init__(
4040
Args:
4141
message (discord.Message): The message to use for pagination.
4242
*pages (discord.Embed): The embed pages.
43-
callers (Optional[discord.Member], optional): The user (or list of users)
44-
that can control the embed. A value of `None` means that everyone can
45-
control it. Defaults to None.
43+
caller (Optional[Union[discord.Member, Sequence[discord.Member]]], optional):
44+
The member(s) that can control the embed. A value of `None` means that
45+
everyone can control it. Defaults to None.
4646
whitelisted_role_ids (Optional[Sequence[discord.Role]], optional): The
4747
IDs of the guild roles that are always granted control over this embed
4848
paginator.
49-
page_number (int): The number of the page to start from (1-based).
49+
start_page_number (int): The number of the page to start from (1-based).
5050
Defaults to 1.
5151
inactivity_timeout (Optional[int], optional): The maximum time period
5252
for this paginator to wait for a reaction to occur, before aborting.
@@ -59,7 +59,7 @@ def __init__(
5959
self._pages = list(pages)
6060
self._theme_color = min(max(0, int(theme_color)), 0xFFFFFF)
6161

62-
self._current_page_index = max(int(page_number) - 1, 0)
62+
self._current_page_index = max(int(start_page_number) - 1, 0)
6363
self._inactivity_timeout = None
6464

6565
if inactivity_timeout:
@@ -106,10 +106,10 @@ def __init__(
106106
self._stopped = False
107107
self._callers = None
108108

109-
if isinstance(callers, discord.Member):
110-
self._callers = (callers,)
111-
elif isinstance(callers, Sequence):
112-
self._callers = tuple(callers)
109+
if isinstance(caller, discord.Member):
110+
self._callers = (caller,)
111+
elif isinstance(caller, Sequence):
112+
self._callers = tuple(caller)
113113

114114
self._whitelisted_role_ids = (
115115
{int(i) for i in whitelisted_role_ids}
@@ -134,9 +134,13 @@ def whitelisted_role_ids(self):
134134
return self._whitelisted_role_ids
135135

136136
@property
137-
def page_number(self):
137+
def current_page_number(self):
138138
return self._current_page_index + 1
139139

140+
@property
141+
def current_page(self):
142+
return self._pages[self._current_page_index]
143+
140144
@property
141145
def inactivity_timeout(self):
142146
return self._inactivity_timeout

0 commit comments

Comments
 (0)