Remove deprecated methods (#943)

* #941 Removed deprecated methods
This commit is contained in:
Alex Root Junior 2022-06-25 22:47:08 +03:00 committed by GitHub
parent 2c6d8ed5cb
commit fadb11515e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 3 additions and 345 deletions

1
CHANGES/941.misc.rst Normal file
View file

@ -0,0 +1 @@
Removed deprecated :code:`router.<event>_handler` and :code:`router.register_<event>_handler` methods.

View file

@ -1,17 +1,16 @@
from __future__ import annotations from __future__ import annotations
import warnings import warnings
from typing import Any, Dict, Generator, List, Optional, Set, Union from typing import Any, Dict, Final, Generator, List, Optional, Set, Union
from ..types import TelegramObject from ..types import TelegramObject
from ..utils.warnings import CodeHasNoEffect from ..utils.warnings import CodeHasNoEffect
from .event.bases import REJECTED, UNHANDLED from .event.bases import REJECTED, UNHANDLED
from .event.event import EventObserver from .event.event import EventObserver
from .event.handler import CallbackType
from .event.telegram import TelegramEventObserver from .event.telegram import TelegramEventObserver
from .filters import BUILTIN_FILTERS from .filters import BUILTIN_FILTERS
INTERNAL_UPDATE_TYPES = frozenset({"update", "error"}) INTERNAL_UPDATE_TYPES: Final[frozenset[str]] = frozenset({"update", "error"})
class Router: class Router:
@ -242,288 +241,3 @@ class Router:
await self.shutdown.trigger(*args, **kwargs) await self.shutdown.trigger(*args, **kwargs)
for router in self.sub_routers: for router in self.sub_routers:
await router.emit_shutdown(*args, **kwargs) await router.emit_shutdown(*args, **kwargs)
@property
def message_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.message_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.message(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.message
@property
def edited_message_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.edited_message_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.edited_message(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.edited_message
@property
def channel_post_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.channel_post_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.channel_post(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.channel_post
@property
def edited_channel_post_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.edited_channel_post_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.edited_channel_post(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.edited_channel_post
@property
def inline_query_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.inline_query_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.inline_query(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.inline_query
@property
def chosen_inline_result_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.chosen_inline_result_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chosen_inline_result(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chosen_inline_result
@property
def callback_query_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.callback_query_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.callback_query(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.callback_query
@property
def shipping_query_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.shipping_query_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.shipping_query(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.shipping_query
@property
def pre_checkout_query_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.pre_checkout_query_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.pre_checkout_query(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.pre_checkout_query
@property
def poll_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.poll_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.poll(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.poll
@property
def poll_answer_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.poll_answer_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.poll_answer(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.poll_answer
@property
def my_chat_member_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.my_chat_member_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.my_chat_member(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.my_chat_member
@property
def chat_member_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.chat_member_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chat_member(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chat_member
@property
def chat_join_request_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.chat_join_request_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chat_join_request(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chat_join_request
@property
def errors_handler(self) -> TelegramEventObserver:
warnings.warn(
"`Router.errors_handler(...)` is deprecated and will be removed in version 3.2 "
"use `Router.errors(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.errors
def register_message(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_message(...)` is deprecated and will be removed in version 3.2 "
"use `Router.message.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.message.register(*args, **kwargs)
def register_edited_message(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_edited_message(...)` is deprecated and will be removed in version 3.2 "
"use `Router.edited_message.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.edited_message.register(*args, **kwargs)
def register_channel_post(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_channel_post(...)` is deprecated and will be removed in version 3.2 "
"use `Router.channel_post.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.channel_post.register(*args, **kwargs)
def register_edited_channel_post(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_edited_channel_post(...)` is deprecated and will be removed in version 3.2 "
"use `Router.edited_channel_post.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.edited_channel_post.register(*args, **kwargs)
def register_inline_query(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_inline_query(...)` is deprecated and will be removed in version 3.2 "
"use `Router.inline_query.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.inline_query.register(*args, **kwargs)
def register_chosen_inline_result(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_chosen_inline_result(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chosen_inline_result.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chosen_inline_result.register(*args, **kwargs)
def register_callback_query(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_callback_query(...)` is deprecated and will be removed in version 3.2 "
"use `Router.callback_query.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.callback_query.register(*args, **kwargs)
def register_shipping_query(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_shipping_query(...)` is deprecated and will be removed in version 3.2 "
"use `Router.shipping_query.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.shipping_query.register(*args, **kwargs)
def register_pre_checkout_query(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_pre_checkout_query(...)` is deprecated and will be removed in version 3.2 "
"use `Router.pre_checkout_query.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.pre_checkout_query.register(*args, **kwargs)
def register_poll(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_poll(...)` is deprecated and will be removed in version 3.2 "
"use `Router.poll.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.poll.register(*args, **kwargs)
def register_poll_answer(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_poll_answer(...)` is deprecated and will be removed in version 3.2 "
"use `Router.poll_answer.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.poll_answer.register(*args, **kwargs)
def register_my_chat_member(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_my_chat_member(...)` is deprecated and will be removed in version 3.2 "
"use `Router.my_chat_member.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.my_chat_member.register(*args, **kwargs)
def register_chat_member(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_chat_member(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chat_member.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chat_member.register(*args, **kwargs)
def register_chat_join_request(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_chat_join_request(...)` is deprecated and will be removed in version 3.2 "
"use `Router.chat_join_request.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.chat_join_request.register(*args, **kwargs)
def register_errors(self, *args: Any, **kwargs: Any) -> CallbackType:
warnings.warn(
"`Router.register_errors(...)` is deprecated and will be removed in version 3.2 "
"use `Router.errors.register(...)`",
DeprecationWarning,
stacklevel=2,
)
return self.errors.register(*args, **kwargs)

View file

@ -1,6 +1,5 @@
from __future__ import annotations from __future__ import annotations
import warnings
from typing import TYPE_CHECKING, Optional from typing import TYPE_CHECKING, Optional
from ..utils.text_decorations import add_surrogates, remove_surrogates from ..utils.text_decorations import add_surrogates, remove_surrogates
@ -34,11 +33,3 @@ class MessageEntity(MutableTelegramObject):
return remove_surrogates( return remove_surrogates(
add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2] add_surrogates(text)[self.offset * 2 : (self.offset + self.length) * 2]
) )
def get_text(self, text: str) -> str:
warnings.warn(
"Method `MessageEntity.get_text(...)` deprecated and will be removed in 3.2.\n"
" Use `MessageEntity.extract(...)` instead.",
DeprecationWarning,
)
return self.extract(text=text)

View file

@ -1,13 +1,7 @@
from aiogram.types import MessageEntity from aiogram.types import MessageEntity
from tests.deprecated import check_deprecated
class TestMessageEntity: class TestMessageEntity:
def test_extract(self): def test_extract(self):
entity = MessageEntity(type="hashtag", length=4, offset=5) entity = MessageEntity(type="hashtag", length=4, offset=5)
assert entity.extract("#foo #bar #baz") == "#bar" assert entity.extract("#foo #bar #baz") == "#bar"
def test_get_text(self):
entity = MessageEntity(type="hashtag", length=4, offset=5)
with check_deprecated("3.2", exception=AttributeError):
assert entity.get_text("#foo #bar #baz") == "#bar"

View file

@ -1,42 +0,0 @@
import pytest
from aiogram.dispatcher.event.telegram import TelegramEventObserver
from aiogram.dispatcher.router import Router
from tests.deprecated import check_deprecated
OBSERVERS = {
"message",
"edited_message",
"channel_post",
"edited_channel_post",
"inline_query",
"chosen_inline_result",
"callback_query",
"shipping_query",
"pre_checkout_query",
"poll",
"poll_answer",
"my_chat_member",
"chat_member",
"chat_join_request",
"errors",
}
@pytest.mark.parametrize("observer_name", OBSERVERS)
def test_deprecated_handlers_name(observer_name: str):
router = Router()
with check_deprecated("3.2", exception=AttributeError):
observer = getattr(router, f"{observer_name}_handler")
assert isinstance(observer, TelegramEventObserver)
@pytest.mark.parametrize("observer_name", OBSERVERS)
def test_deprecated_register_handlers(observer_name: str):
router = Router()
with check_deprecated("3.2", exception=AttributeError):
register = getattr(router, f"register_{observer_name}")
register(lambda event: True)
assert callable(register)