mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 20:54:28 +08:00
Use Literal to improve tempfile.[Named]TemporaryFile. (#3215)
This commit is contained in:
committed by
Sebastian Rittau
parent
f9300ed1ed
commit
abc241bd35
@@ -7,24 +7,80 @@ import sys
|
||||
from types import TracebackType
|
||||
from typing import Any, AnyStr, Generic, IO, Iterable, Iterator, List, Optional, overload, Tuple, Type
|
||||
|
||||
if sys.version_info >= (3, 8):
|
||||
from typing import Literal
|
||||
else:
|
||||
from typing_extensions import Literal
|
||||
|
||||
# global variables
|
||||
TMP_MAX: int
|
||||
tempdir: Optional[str]
|
||||
template: str
|
||||
|
||||
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: str = ..., buffering: int = ..., encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ..., suffix: Optional[AnyStr] = ..., prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...
|
||||
) -> IO[Any]:
|
||||
...
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
) -> IO[str]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: str = ...,
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
) -> IO[Any]: ...
|
||||
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: str = ..., buffering: int = ..., encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ..., suffix: Optional[AnyStr] = ..., prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ..., delete: bool = ...
|
||||
) -> IO[Any]:
|
||||
...
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
delete: bool = ...,
|
||||
) -> IO[str]: ...
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
delete: bool = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: str = ...,
|
||||
buffering: int = ...,
|
||||
encoding: Optional[str] = ...,
|
||||
newline: Optional[str] = ...,
|
||||
suffix: Optional[AnyStr] = ...,
|
||||
prefix: Optional[AnyStr] = ...,
|
||||
dir: Optional[AnyStr] = ...,
|
||||
delete: bool = ...,
|
||||
) -> IO[Any]: ...
|
||||
|
||||
# It does not actually derive from IO[AnyStr], but it does implement the
|
||||
# protocol.
|
||||
|
||||
Reference in New Issue
Block a user