mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
tempfile.pyi: readability improvements (#7959)
The name `_DirT` implies that it is a `TypeVar`, but it isn't; it's a generic `TypeAlias` that can be parameterised with a `TypeVar`. Rename it to just `_Dir` instead. Also, use aliases instead of repeating incredibly long Literal annotations six times.
This commit is contained in:
@@ -31,31 +31,33 @@ TMP_MAX: int
|
||||
tempdir: str | None
|
||||
template: str
|
||||
|
||||
_DirT: TypeAlias = AnyStr | os.PathLike[AnyStr]
|
||||
_Dir: TypeAlias = AnyStr | os.PathLike[AnyStr]
|
||||
_StrMode: TypeAlias = Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"]
|
||||
_BytesMode: TypeAlias = Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"]
|
||||
|
||||
if sys.version_info >= (3, 8):
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
mode: _StrMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> _TemporaryFileWrapper[str]: ...
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
@@ -68,7 +70,7 @@ if sys.version_info >= (3, 8):
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
@@ -77,24 +79,24 @@ if sys.version_info >= (3, 8):
|
||||
else:
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
mode: _StrMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[str]: ...
|
||||
@overload
|
||||
def NamedTemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[bytes]: ...
|
||||
@overload
|
||||
@@ -105,7 +107,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
delete: bool = ...,
|
||||
) -> _TemporaryFileWrapper[Any]: ...
|
||||
|
||||
@@ -115,25 +117,25 @@ else:
|
||||
if sys.version_info >= (3, 8):
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
mode: _StrMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[str]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@@ -145,30 +147,30 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
*,
|
||||
errors: str | None = ...,
|
||||
) -> IO[Any]: ...
|
||||
else:
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"],
|
||||
mode: _StrMode,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
) -> IO[str]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
) -> IO[bytes]: ...
|
||||
@overload
|
||||
def TemporaryFile(
|
||||
@@ -178,7 +180,7 @@ else:
|
||||
newline: str | None = ...,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
) -> IO[Any]: ...
|
||||
|
||||
class _TemporaryFileWrapper(Generic[AnyStr], IO[AnyStr]):
|
||||
@@ -236,7 +238,7 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase):
|
||||
def __init__(
|
||||
self: SpooledTemporaryFile[bytes],
|
||||
max_size: int = ...,
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
@@ -250,7 +252,7 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase):
|
||||
def __init__(
|
||||
self: SpooledTemporaryFile[str],
|
||||
max_size: int = ...,
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"] = ...,
|
||||
mode: _StrMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
@@ -281,7 +283,7 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase):
|
||||
def __init__(
|
||||
self: SpooledTemporaryFile[bytes],
|
||||
max_size: int = ...,
|
||||
mode: Literal["rb", "wb", "ab", "xb", "r+b", "w+b", "a+b", "x+b"] = ...,
|
||||
mode: _BytesMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
@@ -293,7 +295,7 @@ class SpooledTemporaryFile(IO[AnyStr], _SpooledTemporaryFileBase):
|
||||
def __init__(
|
||||
self: SpooledTemporaryFile[str],
|
||||
max_size: int = ...,
|
||||
mode: Literal["r", "w", "a", "x", "r+", "w+", "a+", "x+", "rt", "wt", "at", "xt", "r+t", "w+t", "a+t", "x+t"] = ...,
|
||||
mode: _StrMode = ...,
|
||||
buffering: int = ...,
|
||||
encoding: str | None = ...,
|
||||
newline: str | None = ...,
|
||||
@@ -365,14 +367,14 @@ class TemporaryDirectory(Generic[AnyStr]):
|
||||
self,
|
||||
suffix: AnyStr | None = ...,
|
||||
prefix: AnyStr | None = ...,
|
||||
dir: _DirT[AnyStr] | None = ...,
|
||||
dir: _Dir[AnyStr] | None = ...,
|
||||
ignore_cleanup_errors: bool = ...,
|
||||
) -> None: ...
|
||||
else:
|
||||
@overload
|
||||
def __init__(self: TemporaryDirectory[str], suffix: None = ..., prefix: None = ..., dir: None = ...) -> None: ...
|
||||
@overload
|
||||
def __init__(self, suffix: AnyStr | None = ..., prefix: AnyStr | None = ..., dir: _DirT[AnyStr] | None = ...) -> None: ...
|
||||
def __init__(self, suffix: AnyStr | None = ..., prefix: AnyStr | None = ..., dir: _Dir[AnyStr] | None = ...) -> None: ...
|
||||
|
||||
def cleanup(self) -> None: ...
|
||||
def __enter__(self) -> AnyStr: ...
|
||||
@@ -383,18 +385,18 @@ class TemporaryDirectory(Generic[AnyStr]):
|
||||
# The overloads overlap, but they should still work fine.
|
||||
@overload
|
||||
def mkstemp( # type: ignore[misc]
|
||||
suffix: str | None = ..., prefix: str | None = ..., dir: _DirT[str] | None = ..., text: bool = ...
|
||||
suffix: str | None = ..., prefix: str | None = ..., dir: _Dir[str] | None = ..., text: bool = ...
|
||||
) -> tuple[int, str]: ...
|
||||
@overload
|
||||
def mkstemp(
|
||||
suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _DirT[bytes] | None = ..., text: bool = ...
|
||||
suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _Dir[bytes] | None = ..., text: bool = ...
|
||||
) -> tuple[int, bytes]: ...
|
||||
|
||||
# The overloads overlap, but they should still work fine.
|
||||
@overload
|
||||
def mkdtemp(suffix: str | None = ..., prefix: str | None = ..., dir: _DirT[str] | None = ...) -> str: ... # type: ignore[misc]
|
||||
def mkdtemp(suffix: str | None = ..., prefix: str | None = ..., dir: _Dir[str] | None = ...) -> str: ... # type: ignore[misc]
|
||||
@overload
|
||||
def mkdtemp(suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _DirT[bytes] | None = ...) -> bytes: ...
|
||||
def mkdtemp(suffix: bytes | None = ..., prefix: bytes | None = ..., dir: _Dir[bytes] | None = ...) -> bytes: ...
|
||||
def mktemp(suffix: str = ..., prefix: str = ..., dir: StrPath | None = ...) -> str: ...
|
||||
def gettempdirb() -> bytes: ...
|
||||
def gettempprefixb() -> bytes: ...
|
||||
|
||||
Reference in New Issue
Block a user