Complete stubtest for aiofiles + fix on Windows (#9184)

This commit is contained in:
Avasam
2022-11-13 09:45:20 -05:00
committed by GitHub
parent 82c0ea7bd5
commit 033d21e775
6 changed files with 20 additions and 6 deletions

View File

@@ -1,6 +1,3 @@
# Some arguments only exist on FreeBSD and MacOS
aiofiles.os.sendfile
# These all delegate using *args,**kwargs, but stubs use signature of
# method they are being delegated to.
aiofiles.threadpool.binary.AsyncBufferedIOBase.close
@@ -51,6 +48,7 @@ aiofiles.ospath.samefile
aiofiles.ospath.sameopenfile
# Same issues as above
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.close
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.fileno
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.flush
aiofiles.tempfile.temptypes.AsyncSpooledTemporaryFile.isatty
@@ -61,3 +59,7 @@ aiofiles.tempfile.temptypes.AsyncTemporaryDirectory.cleanup
# Metaclass differs:
aiofiles.base.AiofilesContextManager
aiofiles.tempfile.AiofilesContextManagerTempDir
# Helper decorator, too complex to type
aiofiles.os.wrap

View File

@@ -0,0 +1,2 @@
# This function gets the wrong signature from functools.wraps()
aiofiles.os.sendfile

View File

@@ -0,0 +1,2 @@
# This function gets the wrong signature from functools.wraps()
aiofiles.os.sendfile

View File

@@ -1 +1,6 @@
version = "22.1.*"
[tool.stubtest]
ignore_missing_stub = false
# linux and darwin are equivalent
platforms = ["linux", "win32"]

View File

@@ -6,7 +6,7 @@ from os import stat_result
from typing import Any, overload
from typing_extensions import TypeAlias
from . import ospath
from aiofiles import ospath
path = ospath

View File

@@ -5,8 +5,8 @@ from tempfile import TemporaryDirectory, _BytesMode
from types import coroutine as coroutine
from typing import TypeVar
from ..base import AsyncBase as AsyncBase
from ..threadpool.utils import (
from aiofiles.base import AsyncBase as AsyncBase
from aiofiles.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,
@@ -17,6 +17,7 @@ _T = TypeVar("_T")
class AsyncSpooledTemporaryFile(AsyncBase[_T]):
def fileno(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
def rollover(self) -> Generator[Incomplete, Incomplete, Incomplete]: ...
async def close(self) -> None: ...
async def flush(self) -> None: ...
async def isatty(self) -> bool: ...
# All must return `AnyStr`:
@@ -37,6 +38,8 @@ class AsyncSpooledTemporaryFile(AsyncBase[_T]):
def name(self) -> str: ...
@property
def newlines(self) -> str: ...
@property
def softspace(self) -> bool: ...
# Both should work with `AnyStr`, like in `tempfile`:
async def write(self, s: Incomplete) -> int: ...
async def writelines(self, iterable: Iterable[Incomplete]) -> None: ...