Chromium Code Reviews| Index: gsutil.py |
| diff --git a/gsutil.py b/gsutil.py |
| index 6578d7844171202eb787bf1414c4a371e15a75a0..b889deb300d84f43c328dbb1433211785313a88b 100755 |
| --- a/gsutil.py |
| +++ b/gsutil.py |
| @@ -37,15 +37,21 @@ class InvalidGsutilError(Exception): |
| pass |
| -def call(args, verbose=True, **kwargs): |
| - kwargs['stdout'] = subprocess.PIPE |
| - kwargs['stderr'] = subprocess.STDOUT |
| +def call(args, verbose=True, native=False, **kwargs): |
| + if native: |
| + kwargs['stdout'] = sys.stdout |
| + kwargs['stderr'] = sys.stderr |
| + else: |
| + kwargs['stdout'] = subprocess.PIPE |
| + kwargs['stderr'] = subprocess.STDOUT |
| + kwargs['stdin'] = sys.stdin |
| proc = subprocess.Popen(args, **kwargs) |
| out = [] |
| - for line in proc.stdout: |
| - out.append(line) |
| - if verbose: |
| - sys.stdout.write(line) |
| + if not native: |
| + for line in proc.stdout: |
| + out.append(line) |
| + if verbose: |
| + sys.stdout.write(line) |
| code = proc.wait() |
| if code: |
| raise SubprocessError('%s failed with %s' % (args, code), code) |
| @@ -128,7 +134,7 @@ def run_gsutil(force_version, fallback, target, args): |
| gsutil_bin = fallback |
| cmd = [sys.executable, gsutil_bin] + args |
| try: |
| - call(cmd) |
| + call(cmd, native=True) |
|
scottmg
2015/01/23 20:51:54
The only other place it's used is check_gsutil, so
hinoka
2015/01/23 21:05:35
Done.
|
| except SubprocessError as e: |
| return e.code |
| return 0 |