mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-04-21 00:07:51 +00:00
[commands] Calculate suffix length at each add_line
This commit is contained in:
parent
0cca3ca5c6
commit
391ff7a486
@ -83,7 +83,7 @@ class Paginator:
|
||||
def __init__(self, prefix='```', suffix='```', max_size=2000):
|
||||
self.prefix = prefix
|
||||
self.suffix = suffix
|
||||
self.max_size = max_size - (0 if suffix is None else len(suffix))
|
||||
self.max_size = max_size
|
||||
self.clear()
|
||||
|
||||
def clear(self):
|
||||
@ -100,6 +100,10 @@ class Paginator:
|
||||
def _prefix_len(self):
|
||||
return len(self.prefix) if self.prefix else 0
|
||||
|
||||
@property
|
||||
def _suffix_len(self):
|
||||
return len(self.suffix) if self.suffix else 0
|
||||
|
||||
def add_line(self, line='', *, empty=False):
|
||||
"""Adds a line to the current page.
|
||||
|
||||
@ -118,11 +122,11 @@ class Paginator:
|
||||
RuntimeError
|
||||
The line was too big for the current :attr:`max_size`.
|
||||
"""
|
||||
max_page_size = self.max_size - self._prefix_len - 2
|
||||
max_page_size = self.max_size - self._prefix_len - self._suffix_len - 2
|
||||
if len(line) > max_page_size:
|
||||
raise RuntimeError('Line exceeds maximum page size %s' % (max_page_size))
|
||||
|
||||
if self._count + len(line) + 1 > self.max_size:
|
||||
if self._count + len(line) + 1 > self.max_size - self._suffix_len:
|
||||
self.close_page()
|
||||
|
||||
self._count += len(line) + 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user