mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Add missing aiofiles.tempfile classes (#7523)
Fixes: #6524 Co-authored-by: Andrej Shadura <andrew.shadura@collabora.co.uk> Co-authored-by: AlexWaygood <alex.waygood@gmail.com>
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
"stdlib/xml/dom/minidom.pyi",
|
||||
"stdlib/xml/dom/pulldom.pyi",
|
||||
"stdlib/xml/sax",
|
||||
"stubs/aiofiles/aiofiles/tempfile/temptypes.pyi",
|
||||
"stubs/aiofiles/aiofiles/threadpool/utils.pyi",
|
||||
"stubs/aws-xray-sdk",
|
||||
"stubs/babel",
|
||||
"stubs/backports.ssl_match_hostname",
|
||||
|
||||
@@ -49,3 +49,12 @@ aiofiles.ospath.getatime
|
||||
aiofiles.ospath.getctime
|
||||
aiofiles.ospath.samefile
|
||||
aiofiles.ospath.sameopenfile
|
||||
|
||||
# Same issues as above
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.fileno
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.flush
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.isatty
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.newlines
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.rollover
|
||||
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.tell
|
||||
aiofiles.tempfile.temptypes.AsyncTemporaryDirectory.cleanup
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
from . import tempfile as tempfile
|
||||
from .threadpool import open as open
|
||||
|
||||
260
stubs/aiofiles/aiofiles/tempfile/__init__.pyi
Normal file
260
stubs/aiofiles/aiofiles/tempfile/__init__.pyi
Normal file
@@ -0,0 +1,260 @@
|
||||
from _typeshed import (
|
||||
BytesPath,
|
||||
Incomplete,
|
||||
OpenBinaryMode,
|
||||
OpenBinaryModeReading,
|
||||
OpenBinaryModeUpdating,
|
||||
OpenBinaryModeWriting,
|
||||
OpenTextMode,
|
||||
StrOrBytesPath,
|
||||
StrPath,
|
||||
)
|
||||
from asyncio import AbstractEventLoop
|
||||
from typing import AnyStr, TypeVar, overload
|
||||
from typing_extensions import Literal
|
||||
|
||||
from ..base import AiofilesContextManager
|
||||
from ..threadpool.binary import AsyncBufferedIOBase, AsyncBufferedReader, AsyncFileIO
|
||||
from ..threadpool.text import AsyncTextIOWrapper
|
||||
from .temptypes import AsyncTemporaryDirectory
|
||||
|
||||
_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 = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
delete: bool = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
|
||||
|
||||
# Unbuffered binary: returns a FileIO
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: OpenBinaryMode,
|
||||
buffering: Literal[0],
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
delete: bool = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
|
||||
|
||||
# Buffered binary reading/updating: AsyncBufferedReader
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = ...,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
delete: bool = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
|
||||
|
||||
# Buffered binary writing: AsyncBufferedIOBase
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: OpenBinaryModeWriting,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
delete: bool = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
|
||||
|
||||
# Text mode: always returns AsyncTextIOWrapper
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: OpenTextMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
|
||||
|
||||
# Unbuffered binary: returns a FileIO
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: OpenBinaryMode,
|
||||
buffering: Literal[0],
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
|
||||
|
||||
# Buffered binary reading/updating: AsyncBufferedReader
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = ...,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
|
||||
|
||||
# Buffered binary writing: AsyncBufferedIOBase
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: OpenBinaryModeWriting,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
|
||||
|
||||
# Text mode: always returns AsyncTextIOWrapper
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int = ...,
|
||||
*,
|
||||
mode: OpenTextMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int,
|
||||
mode: OpenTextMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncTextIOWrapper]: ...
|
||||
|
||||
# Unbuffered binary: returns a FileIO
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int = ...,
|
||||
mode: OpenBinaryMode = ...,
|
||||
*,
|
||||
buffering: Literal[0],
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int,
|
||||
mode: OpenBinaryMode,
|
||||
buffering: Literal[0],
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncFileIO]: ...
|
||||
|
||||
# Buffered binary reading/updating: AsyncBufferedReader
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int = ...,
|
||||
mode: OpenBinaryModeReading | OpenBinaryModeUpdating = ...,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedReader]: ...
|
||||
|
||||
# Buffered binary writing: AsyncBufferedIOBase
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int = ...,
|
||||
*,
|
||||
mode: OpenBinaryModeWriting,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
|
||||
@overload
|
||||
def SpooledTemporaryFile(
|
||||
max_size: int,
|
||||
mode: OpenBinaryModeWriting,
|
||||
buffering: Literal[-1, 1] = ...,
|
||||
encoding: None = ...,
|
||||
newline: None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: StrOrBytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManager[None, None, AsyncBufferedIOBase]: ...
|
||||
@overload
|
||||
def TemporaryDirectory(
|
||||
suffix: str | None = ...,
|
||||
prefix: str | None = ...,
|
||||
dir: StrPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManagerTempDir[None, None, AsyncTemporaryDirectory]: ...
|
||||
@overload
|
||||
def TemporaryDirectory(
|
||||
suffix: bytes | None = ...,
|
||||
prefix: bytes | None = ...,
|
||||
dir: BytesPath | None = ...,
|
||||
loop: AbstractEventLoop | None = ...,
|
||||
executor: Incomplete | None = ...,
|
||||
) -> AiofilesContextManagerTempDir[None, None, AsyncTemporaryDirectory]: ...
|
||||
|
||||
class AiofilesContextManagerTempDir(AiofilesContextManager[_T_co, _T_contra, _V_co]):
|
||||
async def __aenter__(self) -> Incomplete: ...
|
||||
46
stubs/aiofiles/aiofiles/tempfile/temptypes.pyi
Normal file
46
stubs/aiofiles/aiofiles/tempfile/temptypes.pyi
Normal file
@@ -0,0 +1,46 @@
|
||||
from _typeshed import Incomplete
|
||||
from asyncio import AbstractEventLoop
|
||||
from collections.abc import Generator
|
||||
from types import coroutine as coroutine
|
||||
from typing import TypeVar
|
||||
|
||||
from ..base import AsyncBase as AsyncBase
|
||||
from ..threadpool.utils import (
|
||||
cond_delegate_to_executor as cond_delegate_to_executor,
|
||||
delegate_to_executor as delegate_to_executor,
|
||||
proxy_property_directly as proxy_property_directly,
|
||||
)
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
class AsyncSpooledTemporaryFile(AsyncBase[_T]):
|
||||
def fileno(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
|
||||
def rollover(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
|
||||
async def flush(self) -> None: ...
|
||||
async def isatty(self) -> bool: ...
|
||||
async def read(self, __n: int = ...): ...
|
||||
async def readline(self, __limit: int | None = ...): ...
|
||||
async def readlines(self, __hint: int = ...): ...
|
||||
async def seek(self, offset: int, whence: int = ...) -> int: ...
|
||||
async def tell(self) -> int: ...
|
||||
async def truncate(self, size: int | None = ...) -> None: ...
|
||||
@property
|
||||
def closed(self): ...
|
||||
@property
|
||||
def encoding(self): ...
|
||||
@property
|
||||
def mode(self): ...
|
||||
@property
|
||||
def name(self): ...
|
||||
async def newlines(self): ...
|
||||
@property
|
||||
def softspace(self): ...
|
||||
async def write(self, s): ...
|
||||
async def writelines(self, iterable): ...
|
||||
|
||||
class AsyncTemporaryDirectory:
|
||||
async def cleanup(self) -> None: ...
|
||||
@property
|
||||
def name(self): ...
|
||||
def __init__(self, file, loop: AbstractEventLoop | None, executor: Incomplete | None) -> None: ...
|
||||
async def close(self) -> None: ...
|
||||
6
stubs/aiofiles/aiofiles/threadpool/utils.pyi
Normal file
6
stubs/aiofiles/aiofiles/threadpool/utils.pyi
Normal file
@@ -0,0 +1,6 @@
|
||||
from types import coroutine as coroutine
|
||||
|
||||
def delegate_to_executor(*attrs): ...
|
||||
def proxy_method_directly(*attrs): ...
|
||||
def proxy_property_directly(*attrs): ...
|
||||
def cond_delegate_to_executor(*attrs): ...
|
||||
Reference in New Issue
Block a user