From 85594df83bbdd7af3201879523c3232c46626ac3 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Wed, 20 Apr 2022 15:31:52 +0100 Subject: [PATCH] Use re-exports instead of TypeAliases in email.parser (#7665) --- stdlib/email/__init__.pyi | 3 +-- stdlib/email/feedparser.pyi | 5 +++-- stdlib/email/parser.pyi | 7 +------ 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/stdlib/email/__init__.pyi b/stdlib/email/__init__.pyi index 8c3e8201d..78368a2cf 100644 --- a/stdlib/email/__init__.pyi +++ b/stdlib/email/__init__.pyi @@ -1,11 +1,10 @@ from collections.abc import Callable from email.message import Message from email.policy import Policy -from typing import IO, TypeVar, Union +from typing import IO, Union from typing_extensions import TypeAlias # Definitions imported by multiple submodules in typeshed -_MessageT = TypeVar("_MessageT", bound=Message) # noqa: Y018 _ParamType: TypeAlias = Union[str, tuple[str | None, str | None, str]] _ParamsType: TypeAlias = Union[str, None, tuple[str, str | None, str]] diff --git a/stdlib/email/feedparser.pyi b/stdlib/email/feedparser.pyi index 33da0aa3c..c535c353d 100644 --- a/stdlib/email/feedparser.pyi +++ b/stdlib/email/feedparser.pyi @@ -1,11 +1,12 @@ from collections.abc import Callable -from email import _MessageT from email.message import Message from email.policy import Policy -from typing import Generic, overload +from typing import Generic, TypeVar, overload __all__ = ["FeedParser", "BytesFeedParser"] +_MessageT = TypeVar("_MessageT", bound=Message) + class FeedParser(Generic[_MessageT]): @overload def __init__(self: FeedParser[Message], _factory: None = ..., *, policy: Policy = ...) -> None: ... diff --git a/stdlib/email/parser.pyi b/stdlib/email/parser.pyi index a19f1bae7..dcd346c1b 100644 --- a/stdlib/email/parser.pyi +++ b/stdlib/email/parser.pyi @@ -1,16 +1,11 @@ -import email.feedparser from collections.abc import Callable -from email import _MessageT +from email.feedparser import BytesFeedParser as BytesFeedParser, FeedParser as FeedParser from email.message import Message from email.policy import Policy from typing import BinaryIO, TextIO -from typing_extensions import TypeAlias __all__ = ["Parser", "HeaderParser", "BytesParser", "BytesHeaderParser", "FeedParser", "BytesFeedParser"] -FeedParser: TypeAlias = email.feedparser.FeedParser[_MessageT] -BytesFeedParser: TypeAlias = email.feedparser.BytesFeedParser[_MessageT] - class Parser: def __init__(self, _class: Callable[[], Message] | None = ..., *, policy: Policy = ...) -> None: ... def parse(self, fp: TextIO, headersonly: bool = ...) -> Message: ...