mirror of
https://github.com/davidhalter/typeshed.git
synced 2026-01-03 18:13:36 +08:00
Fix os.getenv and friends to have consistent types (#1131)
This commit is contained in:
committed by
Jelle Zijlstra
parent
8d3c6b14f6
commit
b03e79886e
@@ -8,11 +8,13 @@ from io import TextIOWrapper as _TextIOWrapper
|
||||
import sys
|
||||
from typing import (
|
||||
Mapping, MutableMapping, Dict, List, Any, Tuple, Iterator, overload, Union, AnyStr,
|
||||
Optional, Generic, Set, Callable, Text, Sequence
|
||||
Optional, Generic, Set, Callable, Text, Sequence, NamedTuple, TypeVar
|
||||
)
|
||||
from . import path
|
||||
from . import path as path
|
||||
from mypy_extensions import NoReturn
|
||||
|
||||
_T = TypeVar('_T')
|
||||
|
||||
# ----- os variables -----
|
||||
|
||||
supports_bytes_environ = False # TODO: True when bytes implemented?
|
||||
@@ -236,10 +238,6 @@ def getppid() -> int: ...
|
||||
def getresuid() -> Tuple[int, int, int]: ... # Unix only
|
||||
def getresgid() -> Tuple[int, int, int]: ... # Unix only
|
||||
def getuid() -> int: ... # Unix only
|
||||
def getenv(key: str, default: str = ...) -> str: ...
|
||||
def getenvb(key: bytes, default: bytes = ...) -> bytes: ...
|
||||
# TODO mixed str/bytes putenv arguments
|
||||
def putenv(key: AnyStr, value: AnyStr) -> None: ...
|
||||
def setegid(egid: int) -> None: ... # Unix only
|
||||
def seteuid(euid: int) -> None: ... # Unix only
|
||||
def setgid(gid: int) -> None: ... # Unix only
|
||||
@@ -256,7 +254,15 @@ def setuid(uid: int) -> None: ... # Unix only
|
||||
def strerror(code: int) -> str: ...
|
||||
def umask(mask: int) -> int: ...
|
||||
def uname() -> Tuple[str, str, str, str, str]: ... # Unix only
|
||||
def unsetenv(key: _PathType) -> None: ...
|
||||
|
||||
@overload
|
||||
def getenv(key: Text) -> Optional[str]: ...
|
||||
@overload
|
||||
def getenv(key: Text, default: _T) -> Union[str, _T]: ...
|
||||
def getenvb(key: bytes, default: bytes = ...) -> bytes: ...
|
||||
def putenv(key: Union[bytes, Text], value: Union[bytes, Text]) -> None: ...
|
||||
def unsetenv(key: Union[bytes, Text]) -> None: ...
|
||||
|
||||
# Return IO or TextIO
|
||||
def fdopen(fd: int, mode: str = ..., buffering: int = ..., encoding: str = ...,
|
||||
errors: str = ..., newline: str = ..., closefd: bool = ...) -> Any: ...
|
||||
|
||||
Reference in New Issue
Block a user