Update safe_split_text function, added split_separator param (#515)

Co-authored-by: Stefan Vasilenko <sv@nuts-agency.ru>
This commit is contained in:
Stefan 2021-03-14 21:39:29 +03:00 committed by GitHub
parent 76955bf8f1
commit 6c423d2b92
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -15,12 +15,13 @@ def split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[str]:
return [text[i:i + length] for i in range(0, len(text), length)]
def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[str]:
def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH, split_separator: str = ' ') -> typing.List[str]:
"""
Split long text
:param text:
:param length:
:param split_separator
:return:
"""
# TODO: More informative description
@ -30,7 +31,7 @@ def safe_split_text(text: str, length: int = MAX_MESSAGE_LENGTH) -> typing.List[
while temp_text:
if len(temp_text) > length:
try:
split_pos = temp_text[:length].rindex(' ')
split_pos = temp_text[:length].rindex(split_separator)
except ValueError:
split_pos = length
if split_pos < length // 4 * 3: