mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 04:54:47 +08:00
Allow subprocess functions to accept PathLike objects in 3.6 and above (#1713)
* Allow subprocess functions to accept PathLike objects in 3.6 and above * Split up _PATH from _TXT in subprocess
This commit is contained in:
committed by
Jelle Zijlstra
parent
8b367c770b
commit
f4e3657c57
@@ -7,7 +7,14 @@ from types import TracebackType
|
||||
|
||||
_FILE = Union[None, int, IO[Any]]
|
||||
_TXT = Union[bytes, Text]
|
||||
_CMD = Union[_TXT, Sequence[_TXT]]
|
||||
if sys.version_info >= (3, 6):
|
||||
from builtins import _PathLike
|
||||
_PATH = Union[bytes, Text, _PathLike]
|
||||
else:
|
||||
_PATH = Union[bytes, Text]
|
||||
# Python 3.6 does't support _CMD being a single PathLike.
|
||||
# See: https://bugs.python.org/issue31961
|
||||
_CMD = Union[_TXT, Sequence[_PATH]]
|
||||
_ENV = Union[Mapping[bytes, _TXT], Mapping[Text, _TXT]]
|
||||
|
||||
if sys.version_info >= (3, 5):
|
||||
@@ -31,14 +38,14 @@ if sys.version_info >= (3, 5):
|
||||
input: Optional[_TXT] = ...,
|
||||
check: bool = ...,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -56,14 +63,14 @@ if sys.version_info >= (3, 5):
|
||||
input: Optional[_TXT] = ...,
|
||||
check: bool = ...,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -77,14 +84,14 @@ if sys.version_info >= (3, 3):
|
||||
# 3.3 added timeout
|
||||
def call(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -96,14 +103,14 @@ if sys.version_info >= (3, 3):
|
||||
else:
|
||||
def call(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -117,14 +124,14 @@ if sys.version_info >= (3, 3):
|
||||
# 3.3 added timeout
|
||||
def check_call(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -136,14 +143,14 @@ if sys.version_info >= (3, 3):
|
||||
else:
|
||||
def check_call(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stdout: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -156,13 +163,13 @@ if sys.version_info >= (3, 6):
|
||||
# 3.6 added encoding and errors
|
||||
def check_output(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -180,13 +187,13 @@ elif sys.version_info >= (3, 4):
|
||||
# 3.4 added input
|
||||
def check_output(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -201,13 +208,13 @@ elif sys.version_info >= (3, 3):
|
||||
# 3.3 added timeout
|
||||
def check_output(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -221,13 +228,13 @@ else:
|
||||
# Same args as Popen.__init__, except for stdout
|
||||
def check_output(args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: _TXT = ...,
|
||||
executable: _PATH = ...,
|
||||
stdin: _FILE = ...,
|
||||
stderr: _FILE = ...,
|
||||
preexec_fn: Callable[[], Any] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Any = ...,
|
||||
@@ -277,14 +284,14 @@ class Popen:
|
||||
def __init__(self,
|
||||
args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: Optional[_TXT] = ...,
|
||||
executable: Optional[_PATH] = ...,
|
||||
stdin: Optional[_FILE] = ...,
|
||||
stdout: Optional[_FILE] = ...,
|
||||
stderr: Optional[_FILE] = ...,
|
||||
preexec_fn: Optional[Callable[[], Any]] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Optional[Any] = ...,
|
||||
@@ -299,14 +306,14 @@ class Popen:
|
||||
def __init__(self,
|
||||
args: _CMD,
|
||||
bufsize: int = ...,
|
||||
executable: Optional[_TXT] = ...,
|
||||
executable: Optional[_PATH] = ...,
|
||||
stdin: Optional[_FILE] = ...,
|
||||
stdout: Optional[_FILE] = ...,
|
||||
stderr: Optional[_FILE] = ...,
|
||||
preexec_fn: Optional[Callable[[], Any]] = ...,
|
||||
close_fds: bool = ...,
|
||||
shell: bool = ...,
|
||||
cwd: Optional[_TXT] = ...,
|
||||
cwd: Optional[_PATH] = ...,
|
||||
env: Optional[_ENV] = ...,
|
||||
universal_newlines: bool = ...,
|
||||
startupinfo: Optional[Any] = ...,
|
||||
|
||||
Reference in New Issue
Block a user