Disabled ContentTypesFilter by default

This commit is contained in:
Alex Root Junior 2021-08-20 01:54:39 +03:00
parent 5851e32266
commit d0e791823b
3 changed files with 2 additions and 12 deletions

1
CHANGES/667.misc Normal file
View file

@ -0,0 +1 @@
Disable ContentType filter by default

View file

@ -11,10 +11,9 @@ from .base import BaseFilter
class ContentTypesFilter(BaseFilter):
"""
Is useful for handling specific types of messages (For example separate text and stickers handlers).
This is always automatically adds to the filters list for message handlers.
"""
content_types: Optional[Union[Sequence[str], str]] = None
content_types: Union[Sequence[str], str]
"""Sequence of allowed content types"""
@validator("content_types")
@ -32,7 +31,4 @@ class ContentTypesFilter(BaseFilter):
return value
async def __call__(self, message: Message) -> Union[bool, Dict[str, Any]]:
if not self.content_types: # pragma: no cover
# Is impossible but needed for valid typechecking
self.content_types = [ContentType.TEXT]
return ContentType.ANY in self.content_types or message.content_type in self.content_types

View file

@ -16,12 +16,6 @@ class MinimalMessage:
class TestContentTypesFilter:
async def test_validator_empty(self):
filter_ = ContentTypesFilter()
assert not filter_.content_types
await filter_(cast(Message, MinimalMessage(ContentType.TEXT)))
assert filter_.content_types == [ContentType.TEXT]
def test_validator_empty_list(self):
filter_ = ContentTypesFilter(content_types=[])
assert filter_.content_types == []
@ -46,7 +40,6 @@ class TestContentTypesFilter:
@pytest.mark.parametrize(
"values,content_type,result",
[
[[], ContentType.TEXT, True],
[[ContentType.TEXT], ContentType.TEXT, True],
[[ContentType.PHOTO], ContentType.TEXT, False],
[[ContentType.ANY], ContentType.TEXT, True],