1
1
# Stubs for subprocess
2
2
3
- # Based on http://docs.python.org/3.2/library/subprocess.html
3
+ # Based on http://docs.python.org/3.5/library/subprocess.html
4
+ import sys
4
5
5
6
import sys
6
7
from typing import Sequence , Any , Mapping , Callable , Tuple , IO , Optional , Union , List
@@ -20,7 +21,7 @@ if sys.version_info >= (3, 5):
20
21
21
22
# Nearly same args as Popen.__init__ except for timeout, input, and check
22
23
def run (args : Union [str , Sequence [str ]],
23
- timeout : int = ...,
24
+ timeout : float = ...,
24
25
input : Union [str , bytes ] = ...,
25
26
check : bool = ...,
26
27
bufsize : int = ...,
@@ -41,73 +42,161 @@ if sys.version_info >= (3, 5):
41
42
pass_fds : Any = ...) -> CompletedProcess : ...
42
43
43
44
# Same args as Popen.__init__
44
- def call (args : Union [str , Sequence [str ]],
45
- bufsize : int = ...,
46
- executable : str = ...,
47
- stdin : Any = ...,
48
- stdout : Any = ...,
49
- stderr : Any = ...,
50
- preexec_fn : Callable [[], Any ] = ...,
51
- close_fds : bool = ...,
52
- shell : bool = ...,
53
- cwd : str = ...,
54
- env : Mapping [str , str ] = ...,
55
- universal_newlines : bool = ...,
56
- startupinfo : Any = ...,
57
- creationflags : int = ...,
58
- restore_signals : bool = ...,
59
- start_new_session : bool = ...,
60
- pass_fds : Any = ...) -> int : ...
45
+ if sys .version_info >= (3 , 3 ):
46
+ # 3.3 added timeout
47
+ def call (args : Union [str , Sequence [str ]],
48
+ bufsize : int = ...,
49
+ executable : str = ...,
50
+ stdin : Any = ...,
51
+ stdout : Any = ...,
52
+ stderr : Any = ...,
53
+ preexec_fn : Callable [[], Any ] = ...,
54
+ close_fds : bool = ...,
55
+ shell : bool = ...,
56
+ cwd : str = ...,
57
+ env : Mapping [str , str ] = ...,
58
+ universal_newlines : bool = ...,
59
+ startupinfo : Any = ...,
60
+ creationflags : int = ...,
61
+ restore_signals : bool = ...,
62
+ start_new_session : bool = ...,
63
+ pass_fds : Any = ...,
64
+ timeout : float = ...) -> int : ...
65
+ else :
66
+ def call (args : Union [str , Sequence [str ]],
67
+ bufsize : int = ...,
68
+ executable : str = ...,
69
+ stdin : Any = ...,
70
+ stdout : Any = ...,
71
+ stderr : Any = ...,
72
+ preexec_fn : Callable [[], Any ] = ...,
73
+ close_fds : bool = ...,
74
+ shell : bool = ...,
75
+ cwd : str = ...,
76
+ env : Mapping [str , str ] = ...,
77
+ universal_newlines : bool = ...,
78
+ startupinfo : Any = ...,
79
+ creationflags : int = ...,
80
+ restore_signals : bool = ...,
81
+ start_new_session : bool = ...,
82
+ pass_fds : Any = ...) -> int : ...
61
83
62
84
# Same args as Popen.__init__
63
- def check_call (args : Union [str , Sequence [str ]],
64
- bufsize : int = ...,
65
- executable : str = ...,
66
- stdin : Any = ...,
67
- stdout : Any = ...,
68
- stderr : Any = ...,
69
- preexec_fn : Callable [[], Any ] = ...,
70
- close_fds : bool = ...,
71
- shell : bool = ...,
72
- cwd : str = ...,
73
- env : Mapping [str , str ] = ...,
74
- universal_newlines : bool = ...,
75
- startupinfo : Any = ...,
76
- creationflags : int = ...,
77
- restore_signals : bool = ...,
78
- start_new_session : bool = ...,
79
- pass_fds : Any = ...) -> int : ...
80
-
81
- # Same args as Popen.__init__, except for stdout
82
- def check_output (args : Union [str , Sequence [str ]],
83
- bufsize : int = ...,
84
- executable : str = ...,
85
- stdin : Any = ...,
86
- stderr : Any = ...,
87
- preexec_fn : Callable [[], Any ] = ...,
88
- close_fds : bool = ...,
89
- shell : bool = ...,
90
- cwd : str = ...,
91
- env : Mapping [str , str ] = ...,
92
- universal_newlines : bool = ...,
93
- startupinfo : Any = ...,
94
- creationflags : int = ...,
95
- restore_signals : bool = ...,
96
- start_new_session : bool = ...,
97
- pass_fds : Any = ...) -> Any : ...
85
+ if sys .version_info >= (3 , 3 ):
86
+ # 3.3 added timeout
87
+ def check_call (args : Union [str , Sequence [str ]],
88
+ bufsize : int = ...,
89
+ executable : str = ...,
90
+ stdin : Any = ...,
91
+ stdout : Any = ...,
92
+ stderr : Any = ...,
93
+ preexec_fn : Callable [[], Any ] = ...,
94
+ close_fds : bool = ...,
95
+ shell : bool = ...,
96
+ cwd : str = ...,
97
+ env : Mapping [str , str ] = ...,
98
+ universal_newlines : bool = ...,
99
+ startupinfo : Any = ...,
100
+ creationflags : int = ...,
101
+ restore_signals : bool = ...,
102
+ start_new_session : bool = ...,
103
+ pass_fds : Any = ...,
104
+ timeout : float = ...) -> int : ...
105
+ else :
106
+ def check_call (args : Union [str , Sequence [str ]],
107
+ bufsize : int = ...,
108
+ executable : str = ...,
109
+ stdin : Any = ...,
110
+ stdout : Any = ...,
111
+ stderr : Any = ...,
112
+ preexec_fn : Callable [[], Any ] = ...,
113
+ close_fds : bool = ...,
114
+ shell : bool = ...,
115
+ cwd : str = ...,
116
+ env : Mapping [str , str ] = ...,
117
+ universal_newlines : bool = ...,
118
+ startupinfo : Any = ...,
119
+ creationflags : int = ...,
120
+ restore_signals : bool = ...,
121
+ start_new_session : bool = ...,
122
+ pass_fds : Any = ...) -> int : ...
123
+
124
+ if sys .version_info >= (3 , 4 ):
125
+ # 3.4 added input
126
+ def check_output (args : Union [str , Sequence [str ]],
127
+ bufsize : int = ...,
128
+ executable : str = ...,
129
+ stdin : Any = ...,
130
+ stderr : Any = ...,
131
+ preexec_fn : Callable [[], Any ] = ...,
132
+ close_fds : bool = ...,
133
+ shell : bool = ...,
134
+ cwd : str = ...,
135
+ env : Mapping [str , str ] = ...,
136
+ universal_newlines : bool = ...,
137
+ startupinfo : Any = ...,
138
+ creationflags : int = ...,
139
+ restore_signals : bool = ...,
140
+ start_new_session : bool = ...,
141
+ pass_fds : Any = ...,
142
+ timeout : float = ...,
143
+ input : Union [str , bytes ] = ...) -> Any : ...
144
+ elif sys .version_info >= (3 , 3 ):
145
+ # 3.3 added timeout
146
+ def check_output (args : Union [str , Sequence [str ]],
147
+ bufsize : int = ...,
148
+ executable : str = ...,
149
+ stdin : Any = ...,
150
+ stderr : Any = ...,
151
+ preexec_fn : Callable [[], Any ] = ...,
152
+ close_fds : bool = ...,
153
+ shell : bool = ...,
154
+ cwd : str = ...,
155
+ env : Mapping [str , str ] = ...,
156
+ universal_newlines : bool = ...,
157
+ startupinfo : Any = ...,
158
+ creationflags : int = ...,
159
+ restore_signals : bool = ...,
160
+ start_new_session : bool = ...,
161
+ pass_fds : Any = ...,
162
+ timeout : float = ...) -> Any : ...
163
+ else :
164
+ # Same args as Popen.__init__, except for stdout
165
+ def check_output (args : Union [str , Sequence [str ]],
166
+ bufsize : int = ...,
167
+ executable : str = ...,
168
+ stdin : Any = ...,
169
+ stderr : Any = ...,
170
+ preexec_fn : Callable [[], Any ] = ...,
171
+ close_fds : bool = ...,
172
+ shell : bool = ...,
173
+ cwd : str = ...,
174
+ env : Mapping [str , str ] = ...,
175
+ universal_newlines : bool = ...,
176
+ startupinfo : Any = ...,
177
+ creationflags : int = ...,
178
+ restore_signals : bool = ...,
179
+ start_new_session : bool = ...,
180
+ pass_fds : Any = ...) -> Any : ...
181
+
98
182
99
183
# TODO types
100
184
PIPE = ... # type: Any
101
185
STDOUT = ... # type: Any
102
186
if sys .version_info >= (3 , 3 ):
103
- DEVNULL = ... # type: Any
187
+ DEVNULL = ... # type: Any
188
+ class SubprocessError (Exception ): ...
104
189
105
190
106
191
class CalledProcessError (Exception ):
107
192
returncode = 0
108
193
cmd = ... # type: str
109
194
output = b'' # May be None
110
195
196
+ if sys .version_info >= (3 , 5 ):
197
+ stdout = b''
198
+ stderr = b''
199
+
111
200
def __init__ (self , returncode : int , cmd : str , output : Optional [str ] = ...,
112
201
stderr : Optional [str ] = ...) -> None : ...
113
202
@@ -141,9 +230,9 @@ class Popen:
141
230
def wait (self ) -> int : ...
142
231
# Return str/bytes
143
232
if sys .version_info >= (3 , 3 ):
144
- def communicate (self , input = ..., timeout : float = ...) -> Tuple [Any , Any ]: ...
233
+ def communicate (self , input : Union [ str , bytes ] = ..., timeout : float = ...) -> Tuple [Any , Any ]: ...
145
234
else :
146
- def communicate (self , input = ...) -> Tuple [Any , Any ]: ...
235
+ def communicate (self , input : Union [ str , bytes ] = ...) -> Tuple [Any , Any ]: ...
147
236
def send_signal (self , signal : int ) -> None : ...
148
237
def terminate (self ) -> None : ...
149
238
def kill (self ) -> None : ...
0 commit comments