Fix stub for SpooledTemporaryFile (#2452)

Fixes #2431
This commit is contained in:
Ruud van Asseldonk
2018-11-20 11:03:21 +01:00
committed by Sebastian Rittau
parent e5b15b8eda
commit b7d6bab83f

View File

@@ -5,7 +5,7 @@
import sys
from types import TracebackType
from typing import Any, AnyStr, Generic, IO, Optional, Tuple, Type
from typing import Any, AnyStr, Generic, IO, Iterable, Iterator, List, Optional, Tuple, Type
# global variables
TMP_MAX: int
@@ -26,12 +26,41 @@ if sys.version_info >= (3, 5):
dir: Optional[AnyStr] = ..., delete: bool = ...
) -> IO[Any]:
...
def SpooledTemporaryFile(
max_size: int = ..., mode: str = ..., buffering: int = ...,
encoding: str = ..., newline: str = ..., suffix: Optional[AnyStr] = ...,
prefix: Optional[AnyStr] = ..., dir: Optional[AnyStr] = ...
) -> IO[Any]:
...
# It does not actually derive from IO[AnyStr], but it does implement the
# protocol.
class SpooledTemporaryFile(IO[AnyStr]):
def __init__(self, max_size: int = ..., mode: str = ...,
buffering: int = ..., encoding: Optional[str] = ...,
newline: Optional[str] = ..., suffix: Optional[str] = ...,
prefix: Optional[str] = ..., dir: Optional[str] = ...
) -> None: ...
def rollover(self) -> None: ...
def __enter__(self) -> SpooledTemporaryFile: ...
def __exit__(self, exc_type: Optional[Type[BaseException]],
exc_val: Optional[BaseException],
exc_tb: Optional[TracebackType]) -> bool: ...
# These methods are copied from the abstract methods of IO, because
# SpooledTemporaryFile implements IO.
# See also https://github.com/python/typeshed/pull/2452#issuecomment-420657918.
def close(self) -> None: ...
def fileno(self) -> int: ...
def flush(self) -> None: ...
def isatty(self) -> bool: ...
def read(self, n: int = ...) -> AnyStr: ...
def readable(self) -> bool: ...
def readline(self, limit: int = ...) -> AnyStr: ...
def readlines(self, hint: int = ...) -> List[AnyStr]: ...
def seek(self, offset: int, whence: int = ...) -> int: ...
def seekable(self) -> bool: ...
def tell(self) -> int: ...
def truncate(self, size: Optional[int] = ...) -> int: ...
def writable(self) -> bool: ...
def write(self, s: AnyStr) -> int: ...
def writelines(self, lines: Iterable[AnyStr]) -> None: ...
def __next__(self) -> AnyStr: ...
def __iter__(self) -> Iterator[AnyStr]: ...
class TemporaryDirectory(Generic[AnyStr]):
name = ... # type: str