[html5lib] Annotate more (#14994)

* Import `webencodings` to use `Encoding` class instead of `Protocol`
* Make `_inputstream.BufferedStream`, `filters.base.Filter`, `_utils.MethodDispatcher` generic
* Fix incorrect types in `_ihatexml.pyi`
* Add types for some attributes/methods
This commit is contained in:
Semyon Moroz
2025-11-14 22:04:22 +01:00
committed by GitHub
parent d58177dd23
commit 354b33a70c
17 changed files with 244 additions and 189 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ class InputStreamWithMemory:
class BleachHTMLTokenizer(HTMLTokenizer):
consume_entities: bool
stream: InputStreamWithMemory
stream: InputStreamWithMemory # type: ignore[assignment]
emitted_last_token: dict[str, Any] | None
def __init__(self, consume_entities: bool = False, **kwargs: Any) -> None: ...
+1 -1
View File
@@ -36,7 +36,7 @@ class Linker:
# or `html5lib` token might be reused
_Token: TypeAlias = dict[str, Any]
class LinkifyFilter(Filter):
class LinkifyFilter(Filter[_Token]):
callbacks: Iterable[_Callback]
skip_tags: Container[str]
parse_email: bool
+2 -2
View File
@@ -40,7 +40,7 @@ class Cleaner:
protocols: Iterable[str]
strip: bool
strip_comments: bool
filters: Iterable[Filter]
filters: Iterable[_FilterConstructor]
css_sanitizer: CSSSanitizer | None
parser: BleachHTMLParser
walker: TreeWalker
@@ -85,7 +85,7 @@ class BleachSanitizerFilter(SanitizerFilter):
def sanitize_stream(self, token_iterator: Iterable[_Token]) -> Iterator[_Token]: ...
def merge_characters(self, token_iterator: Iterable[_Token]) -> Iterator[_Token]: ...
def __iter__(self) -> Iterator[_Token]: ...
def sanitize_token(self, token: _Token) -> _Token | list[_Token] | None: ...
def sanitize_token(self, token: _Token) -> _Token | list[_Token] | None: ... # type: ignore[override]
def sanitize_characters(self, token: _Token) -> _Token | list[_Token]: ...
def sanitize_uri_value(self, value: str, allowed_protocols: Container[str]) -> str | None: ...
def allow_token(self, token: _Token) -> _Token: ...