From 3b29006a3e4d23727435d8d1533ff1a69d0384c1 Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Sun, 30 Jan 2022 05:02:11 -0800 Subject: [PATCH] email.generator: Use protocols instead of TextIO/BinaryIO (#7082) --- stdlib/email/generator.pyi | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/stdlib/email/generator.pyi b/stdlib/email/generator.pyi index 1a810558a..48237f66c 100644 --- a/stdlib/email/generator.pyi +++ b/stdlib/email/generator.pyi @@ -1,27 +1,37 @@ +from _typeshed import SupportsWrite from email.message import Message from email.policy import Policy -from typing import BinaryIO, TextIO class Generator: - def clone(self, fp: TextIO) -> Generator: ... + def clone(self, fp: SupportsWrite[str]) -> Generator: ... def write(self, s: str) -> None: ... def __init__( - self, outfp: TextIO, mangle_from_: bool | None = ..., maxheaderlen: int | None = ..., *, policy: Policy | None = ... + self, + outfp: SupportsWrite[str], + mangle_from_: bool | None = ..., + maxheaderlen: int | None = ..., + *, + policy: Policy | None = ..., ) -> None: ... def flatten(self, msg: Message, unixfrom: bool = ..., linesep: str | None = ...) -> None: ... class BytesGenerator: - def clone(self, fp: BinaryIO) -> BytesGenerator: ... + def clone(self, fp: SupportsWrite[bytes]) -> BytesGenerator: ... def write(self, s: str) -> None: ... def __init__( - self, outfp: BinaryIO, mangle_from_: bool | None = ..., maxheaderlen: int | None = ..., *, policy: Policy | None = ... + self, + outfp: SupportsWrite[bytes], + mangle_from_: bool | None = ..., + maxheaderlen: int | None = ..., + *, + policy: Policy | None = ..., ) -> None: ... def flatten(self, msg: Message, unixfrom: bool = ..., linesep: str | None = ...) -> None: ... class DecodedGenerator(Generator): def __init__( self, - outfp: TextIO, + outfp: SupportsWrite[str], mangle_from_: bool | None = ..., maxheaderlen: int | None = ..., fmt: str | None = ...,