Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(761)

Unified Diff: gsutil.py

Issue 870093003: Hook sys.stdio directly to the gsutil subprocess for the gsutil call (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698