Add missing delete on close arg for aiofiles.NamedTemporaryFile (#12110)

This commit is contained in:
Max Muoto
2024-06-22 14:19:27 -05:00
committed by GitHub
parent 95faa1ae24
commit f2d96aea32

View File

@@ -1,3 +1,4 @@
import sys
from _typeshed import (
BytesPath,
Incomplete,
@@ -21,66 +22,6 @@ _T_co = TypeVar("_T_co", covariant=True)
_V_co = TypeVar("_V_co", covariant=True)
_T_contra = TypeVar("_T_contra", contravariant=True)
# Text mode: always returns AsyncTextIOWrapper
@overload
def NamedTemporaryFile(
mode: OpenTextMode,
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
# Unbuffered binary: returns a FileIO
@overload
def NamedTemporaryFile(
mode: OpenBinaryMode,
buffering: Literal[0],
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
# Buffered binary reading/updating: AsyncBufferedReader
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
# Buffered binary writing: AsyncBufferedIOBase
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeWriting,
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
# Text mode: always returns AsyncTextIOWrapper
@overload
def TemporaryFile(
@@ -137,6 +78,133 @@ def TemporaryFile(
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
# 3.12 added `delete_on_close`
if sys.version_info >= (3, 12):
# Text mode: always returns AsyncTextIOWrapper
@overload
def NamedTemporaryFile(
mode: OpenTextMode,
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
delete_on_close: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
# Unbuffered binary: returns a FileIO
@overload
def NamedTemporaryFile(
mode: OpenBinaryMode,
buffering: Literal[0],
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
delete_on_close: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
# Buffered binary reading/updating: AsyncBufferedReader
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
delete_on_close: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
# Buffered binary writing: AsyncBufferedIOBase
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeWriting,
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
delete_on_close: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
else:
# Text mode: always returns AsyncTextIOWrapper
@overload
def NamedTemporaryFile(
mode: OpenTextMode,
buffering: int = -1,
encoding: str | None = None,
newline: str | None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
# Unbuffered binary: returns a FileIO
@overload
def NamedTemporaryFile(
mode: OpenBinaryMode,
buffering: Literal[0],
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
# Buffered binary reading/updating: AsyncBufferedReader
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = "w+b",
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
# Buffered binary writing: AsyncBufferedIOBase
@overload
def NamedTemporaryFile(
mode: OpenBinaryModeWriting,
buffering: Literal[-1, 1] = -1,
encoding: None = None,
newline: None = None,
suffix: AnyStr | None = None,
prefix: AnyStr | None = None,
dir: StrOrBytesPath | None = None,
delete: bool = True,
loop: AbstractEventLoop | None = None,
executor: Incomplete | None = None,
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
# Text mode: always returns AsyncTextIOWrapper
@overload
def SpooledTemporaryFile(