Skip to content

Commit a157284

Browse files
authored
Merge branch 'Pycord-Development:master' into master
2 parents 2144a4f + e90089d commit a157284

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ repos:
3131
- id: isort
3232
exclude: \.(po|pot|yml|yaml)$
3333
- repo: https://github.com/psf/black-pre-commit-mirror
34-
rev: 25.11.0
34+
rev: 25.12.0
3535
hooks:
3636
- id: black
3737
args: [--safe, --quiet]

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ These changes are available on the `master` branch, but have not yet been releas
2222

2323
### Fixed
2424

25+
- Fixed `TypeError` in paginator implementation when only passing `PageGroup` objects
26+
and `show_menu` is falsy.
27+
([#2993](https://github.com/Pycord-Development/pycord/pull/2993))
2528
- Fixed breaking change in `ui.Select` Generic typing by adding default values to
2629
TypeVars. ([#3002](https://github.com/Pycord-Development/pycord/pull/3002))
2730

discord/ext/pages/pagination.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -418,17 +418,20 @@ def __init__(
418418
self.default_page_group: int = 0
419419

420420
if all(isinstance(pg, PageGroup) for pg in pages):
421-
self.page_groups = self.pages if show_menu else None
422-
if sum(pg.default is True for pg in self.page_groups) > 1:
421+
if sum(pg.default is True for pg in pages) > 1:
423422
raise ValueError("Only one PageGroup can be set as the default.")
424-
for pg in self.page_groups:
423+
424+
default_pg_index = 0
425+
for pg in pages:
425426
if pg.default:
426-
self.default_page_group = self.page_groups.index(pg)
427+
default_pg_index = pages.index(pg)
427428
break
429+
428430
self.pages: list[Page] = self.get_page_group_content(
429-
self.page_groups[self.default_page_group]
431+
pages[default_pg_index]
430432
)
431433

434+
self.page_groups = self.pages if show_menu else None
432435
self.page_count = max(len(self.pages) - 1, 0)
433436
self.buttons = {}
434437
self.custom_buttons: list = custom_buttons
@@ -530,16 +533,20 @@ async def update(
530533
) = (pages if pages is not None else self.pages)
531534
self.show_menu = show_menu if show_menu is not None else self.show_menu
532535
if pages is not None and all(isinstance(pg, PageGroup) for pg in pages):
533-
self.page_groups = self.pages if self.show_menu else None
534-
if sum(pg.default is True for pg in self.page_groups) > 1:
536+
if sum(pg.default is True for pg in pages) > 1:
535537
raise ValueError("Only one PageGroup can be set as the default.")
536-
for pg in self.page_groups:
538+
539+
default_pg_index = 0
540+
for pg in pages:
537541
if pg.default:
538-
self.default_page_group = self.page_groups.index(pg)
542+
default_pg_index = pages.index(pg)
539543
break
544+
540545
self.pages: list[Page] = self.get_page_group_content(
541-
self.page_groups[self.default_page_group]
546+
pages[default_pg_index]
542547
)
548+
549+
self.page_groups = self.pages if show_menu else None
543550
self.page_count = max(len(self.pages) - 1, 0)
544551
self.current_page = current_page if current_page <= self.page_count else 0
545552
# Apply config changes, if specified

0 commit comments

Comments
 (0)