| Index: subprocess2.py
|
| diff --git a/subprocess2.py b/subprocess2.py
|
| index 3cc79aeb899bcfa1650c79db36d459c2c71ff9db..9997002be9b09b7c330bbd7cc824e9ce6b692258 100644
|
| --- a/subprocess2.py
|
| +++ b/subprocess2.py
|
| @@ -192,7 +192,7 @@ def Popen(args, **kwargs):
|
| raise
|
|
|
|
|
| -def call(args, timeout=None, **kwargs):
|
| +def communicate(args, timeout=None, **kwargs):
|
| """Wraps subprocess.Popen().communicate().
|
|
|
| Returns ((stdout, stderr), returncode).
|
| @@ -240,12 +240,24 @@ def call(args, timeout=None, **kwargs):
|
| return out, proc.returncode
|
|
|
|
|
| +def call(args, **kwargs):
|
| + """Emulates subprocess.call().
|
| +
|
| + Automatically convert stdout=PIPE or stderr=PIPE to VOID.
|
| + """
|
| + if kwargs.get('stdout') == PIPE:
|
| + kwargs['stdout'] = VOID
|
| + if kwargs.get('stderr') == PIPE:
|
| + kwargs['stderr'] = VOID
|
| + return communicate(args, **kwargs)[1]
|
| +
|
| +
|
| def check_call(args, **kwargs):
|
| """Improved version of subprocess.check_call().
|
|
|
| Returns (stdout, stderr), unlike subprocess.check_call().
|
| """
|
| - out, returncode = call(args, **kwargs)
|
| + out, returncode = communicate(args, **kwargs)
|
| if returncode:
|
| raise CalledProcessError(
|
| returncode, args, kwargs.get('cwd'), out[0], out[1])
|
| @@ -267,7 +279,7 @@ def capture(args, **kwargs):
|
| kwargs['stdout'] = PIPE
|
| if kwargs.get('stderr') is None:
|
| kwargs['stderr'] = STDOUT
|
| - return call(args, **kwargs)[0][0]
|
| + return communicate(args, **kwargs)[0][0]
|
|
|
|
|
| def check_output(args, **kwargs):
|
|
|