Skip to content

Commit

Permalink
Merge pull request #297 from alvarocaceres/subprocess
Browse files Browse the repository at this point in the history
Fix signatures of call, check_call and check_output in subprocess
  • Loading branch information
matthiaskramm authored Jul 6, 2016
2 parents 3eedf73 + 5886a5d commit 7bef3ad
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 26 deletions.
59 changes: 45 additions & 14 deletions stdlib/2.7/subprocess.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,51 @@ from typing import Sequence, Any, Mapping, Callable, Tuple, IO, Union, Optional

_FILE = Union[int, IO[Any]]

# TODO force keyword arguments
# TODO more keyword arguments (from Popen)
def call(args: Union[str, Sequence[str]], *,
stdin: _FILE = ..., stdout: _FILE = ..., stderr: _FILE = ...,
shell: bool = ..., env: Mapping[str, str] = ...,
cwd: str = ...) -> int: ...
def check_call(args: Union[str, Sequence[str]], *,
stdin: _FILE = ..., stdout: _FILE = ..., stderr: _FILE = ...,
shell: bool = ..., env: Mapping[str, str] = ..., cwd: str = ...,
close_fds: Sequence[_FILE] = ..., preexec_fn: Callable[[], Any] = ...) -> int: ...
def check_output(args: Union[str, Sequence[str]], *,
stdin: _FILE = ..., stderr: _FILE = ...,
shell: bool = ..., universal_newlines: bool = ...,
env: Mapping[str, str] = ..., cwd: str = ...) -> str: ...
# Same args as Popen.__init__
def call(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: _FILE = ...,
stdout: _FILE = ...,
stderr: _FILE = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...) -> int: ...

def check_call(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: _FILE = ...,
stdout: _FILE = ...,
stderr: _FILE = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...) -> int: ...

# Same args as Popen.__init__ except for stdout
def check_output(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: _FILE = ...,
stderr: _FILE = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...) -> str: ...

PIPE = ... # type: int
STDOUT = ... # type: int
Expand Down
64 changes: 52 additions & 12 deletions stdlib/3/subprocess.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,61 @@

from typing import Sequence, Any, Mapping, Callable, Tuple, IO, Optional, Union

# TODO force keyword arguments
# TODO more keyword arguments
def call(args: Union[str, Sequence[str]], *, stdin: Any = ..., stdout: Any = ...,
stderr: Any = ..., shell: bool = ...,
# Same args as Popen.__init__
def call(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: Any = ...,
stdout: Any = ...,
stderr: Any = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
cwd: str = ...) -> int: ...
def check_call(args: Union[str, Sequence[str]], *, stdin: Any = ..., stdout: Any = ...,
stderr: Any = ..., shell: bool = ...,
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...,
restore_signals: bool = ...,
start_new_session: bool = ...,
pass_fds: Any = ...) -> int: ...

# Same args as Popen.__init__
def check_call(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: Any = ...,
stdout: Any = ...,
stderr: Any = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
cwd: str = ...) -> int: ...
# Return str/bytes
def check_output(args: Union[str, Sequence[str]], *, stdin: Any = ..., stderr: Any = ...,
shell: bool = ..., universal_newlines: bool = ...,
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...,
restore_signals: bool = ...,
start_new_session: bool = ...,
pass_fds: Any = ...) -> int: ...

# Same args as Popen.__init__, except for stdout
def check_output(args: Union[str, Sequence[str]],
bufsize: int = ...,
executable: str = ...,
stdin: Any = ...,
stderr: Any = ...,
preexec_fn: Callable[[], Any] = ...,
close_fds: bool = ...,
shell: bool = ...,
cwd: str = ...,
env: Mapping[str, str] = ...,
cwd: str = ...) -> Any: ...
universal_newlines: bool = ...,
startupinfo: Any = ...,
creationflags: int = ...,
restore_signals: bool = ...,
start_new_session: bool = ...,
pass_fds: Any = ...) -> bytes: ...

# TODO types
PIPE = ... # type: Any
Expand Down

0 comments on commit 7bef3ad

Please sign in to comment.