mirror of
https://github.com/aiogram/aiogram.git
synced 2025-12-12 10:11:52 +00:00
* #944 Rename "extract()" to "extract_from()" for entities
This commit is contained in:
parent
fadb11515e
commit
b8893c0971
3 changed files with 18 additions and 2 deletions
1
CHANGES/944.misc.rst
Normal file
1
CHANGES/944.misc.rst
Normal file
|
|
@ -0,0 +1 @@
|
|||
`MessageEntity` method `get_text` was removed and `extract` was renamed to `extract_from`
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
from __future__ import annotations
|
||||
|
||||
import warnings
|
||||
from typing import TYPE_CHECKING, Optional
|
||||
|
||||
from ..utils.text_decorations import add_surrogates, remove_surrogates
|
||||
|
|
@ -29,7 +30,15 @@ class MessageEntity(MutableTelegramObject):
|
|||
language: Optional[str] = None
|
||||
"""*Optional*. For 'pre' only, the programming language of the entity text"""
|
||||
|
||||
def extract(self, text: str) -> str:
|
||||
def extract_from(self, text: str) -> str:
|
||||
return remove_surrogates(
|
||||
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
|
||||
)
|
||||
|
||||
def extract(self, text: str) -> str:
|
||||
warnings.warn(
|
||||
"Method `MessageEntity.extract(...)` deprecated and will be removed in 3.0b5.\n"
|
||||
" Use `MessageEntity.extract_from(...)` instead.",
|
||||
DeprecationWarning,
|
||||
)
|
||||
return self.extract_from(text=text)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
from aiogram.types import MessageEntity
|
||||
from tests.deprecated import check_deprecated
|
||||
|
||||
|
||||
class TestMessageEntity:
|
||||
def test_extract_from(self):
|
||||
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
||||
assert entity.extract_from("#foo #bar #baz") == "#bar"
|
||||
|
||||
def test_extract(self):
|
||||
entity = MessageEntity(type="hashtag", length=4, offset=5)
|
||||
with check_deprecated("3.0b5", exception=AttributeError):
|
||||
assert entity.extract("#foo #bar #baz") == "#bar"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue