From d3e713bfd9feeae387f6d953346c30efacd53f09 Mon Sep 17 00:00:00 2001 From: "ojan@chromium.org" Date: Thu, 4 Dec 2014 22:11:08 +0000 Subject: [PATCH] Don't check bucket permissions if --no-auth. Checking bucket permissions takes ~400ms. We don't need to do this if --no-auth because we know we won't get a 403 and the 404 check will be handled later when we try to actually download the file. Also, remove the check for a null bucket. This can't happen since we will throw a parser error in the main function before we get to this code. R=iannucci@chromium.org Review URL: https://codereview.chromium.org/772203002 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293250 0039d316-1c4b-4281-b951-d872f2087c98 --- download_from_google_storage.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/download_from_google_storage.py b/download_from_google_storage.py index ffdd4ee97..4545a9557 100755 --- a/download_from_google_storage.py +++ b/download_from_google_storage.py @@ -110,12 +110,7 @@ class Gsutil(object): return (code, out, err) -def check_bucket_permissions(bucket, gsutil): - if not bucket: - print >> sys.stderr, 'Missing bucket %s.' - return (None, 1) - base_url = 'gs://%s' % bucket - +def check_bucket_permissions(base_url, gsutil): code, _, ls_err = gsutil.check_call('ls', base_url) if code != 0: print >> sys.stderr, ls_err @@ -457,10 +452,13 @@ def main(args): parser.error('Output file %s exists and --no_resume is specified.' % options.output) + base_url = 'gs://%s' % options.bucket + # Check we have a valid bucket with valid permissions. - base_url, code = check_bucket_permissions(options.bucket, gsutil) - if code: - return code + if not options.no_auth: + code = check_bucket_permissions(base_url, gsutil, options.no_auth) + if code: + return code return download_from_google_storage( input_filename, base_url, gsutil, options.num_threads, options.directory,