From 81463b99950c485d004eede6192f973bc3fcdbdb Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Tue, 31 Jan 2023 01:04:18 +0000 Subject: [PATCH] `tempfile.SpooledTemporaryFile`: fix overloads (#9627) --- stdlib/tempfile.pyi | 64 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/stdlib/tempfile.pyi b/stdlib/tempfile.pyi index 301ba4efd..63ceddfcd 100644 --- a/stdlib/tempfile.pyi +++ b/stdlib/tempfile.pyi @@ -247,10 +247,38 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase): errors: str | None = None, ) -> None: ... @overload + def __init__( + self: SpooledTemporaryFile[str], + max_size: int, + mode: _StrMode, + buffering: int = -1, + encoding: str | None = None, + newline: str | None = None, + suffix: str | None = None, + prefix: str | None = None, + dir: str | None = None, + *, + errors: str | None = None, + ) -> None: ... + @overload def __init__( self: SpooledTemporaryFile[str], max_size: int = 0, - mode: _StrMode = ..., + *, + mode: _StrMode, + buffering: int = -1, + encoding: str | None = None, + newline: str | None = None, + suffix: str | None = None, + prefix: str | None = None, + dir: str | None = None, + errors: str | None = None, + ) -> None: ... + @overload + def __init__( + self, + max_size: int, + mode: str, buffering: int = -1, encoding: str | None = None, newline: str | None = None, @@ -264,14 +292,14 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase): def __init__( self, max_size: int = 0, - mode: str = "w+b", + *, + mode: str, buffering: int = -1, encoding: str | None = None, newline: str | None = None, suffix: str | None = None, prefix: str | None = None, dir: str | None = None, - *, errors: str | None = None, ) -> None: ... @property @@ -290,10 +318,35 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase): dir: str | None = None, ) -> None: ... @overload + def __init__( + self: SpooledTemporaryFile[str], + max_size: int, + mode: _StrMode, + buffering: int = -1, + encoding: str | None = None, + newline: str | None = None, + suffix: str | None = None, + prefix: str | None = None, + dir: str | None = None, + ) -> None: ... + @overload def __init__( self: SpooledTemporaryFile[str], max_size: int = 0, - mode: _StrMode = ..., + *, + mode: _StrMode, + buffering: int = -1, + encoding: str | None = None, + newline: str | None = None, + suffix: str | None = None, + prefix: str | None = None, + dir: str | None = None, + ) -> None: ... + @overload + def __init__( + self, + max_size: int, + mode: str, buffering: int = -1, encoding: str | None = None, newline: str | None = None, @@ -305,7 +358,8 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase): def __init__( self, max_size: int = 0, - mode: str = "w+b", + *, + mode: str, buffering: int = -1, encoding: str | None = None, newline: str | None = None,