From df351768f2b1bf0c53c43ebd562fc48f746a8b59 Mon Sep 17 00:00:00 2001 From: "primiano@chromium.org" Date: Thu, 18 Dec 2014 11:12:34 +0000 Subject: [PATCH] gsutil: Use urllib2 instead of urllib. This is similar to r247914 and r149742: urllib does not work with SSL connections behind proxies, we need to use urllib2 instead. Doing this should allow people behind proxies to download gsutils 4.7 after r293413. (Setting NOTRY here to be able to land the issue, otherwise the CQ fails when running some presubmit checks, see crbug.com/443232) R=maruel@chromium.org, hinoka@chromium.org, pgervais@chromium.org, primiano@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/809053002 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293439 0039d316-1c4b-4281-b951-d872f2087c98 --- gsutil.py | 16 ++++++++-------- tests/gsutil_test.py | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gsutil.py b/gsutil.py index d383fa7e0..cd1607824 100755 --- a/gsutil.py +++ b/gsutil.py @@ -7,15 +7,15 @@ import argparse -import shutil -import zipfile -import hashlib import base64 -import os -import sys +import hashlib import json -import urllib +import os +import shutil import subprocess +import sys +import urllib2 +import zipfile GSUTIL_URL = 'https://storage.googleapis.com/pub/' @@ -67,7 +67,7 @@ def download_gsutil(version, target_dir): local_md5 = md5_calc.hexdigest() metadata_url = '%s%s' % (API_URL, filename) - metadata = json.load(urllib.urlopen(metadata_url)) + metadata = json.load(urllib2.urlopen(metadata_url)) remote_md5 = base64.b64decode(metadata['md5Hash']) if local_md5 == remote_md5: @@ -76,7 +76,7 @@ def download_gsutil(version, target_dir): # Do the download. url = '%s%s' % (GSUTIL_URL, filename) - u = urllib.urlopen(url) + u = urllib2.urlopen(url) with open(target_filename, 'wb') as f: while True: buf = u.read(4096) diff --git a/tests/gsutil_test.py b/tests/gsutil_test.py index f81524320..30648279d 100755 --- a/tests/gsutil_test.py +++ b/tests/gsutil_test.py @@ -16,7 +16,7 @@ import base64 import tempfile import json import os -import urllib +import urllib2 # Add depot_tools to path @@ -71,15 +71,15 @@ class GsutilUnitTests(unittest.TestCase): def setUp(self): self.fake = FakeCall() self.tempdir = tempfile.mkdtemp() - self.old_urlopen = getattr(urllib, 'urlopen') + self.old_urlopen = getattr(urllib2, 'urlopen') self.old_call = getattr(gsutil, 'call') - setattr(urllib, 'urlopen', self.fake) + setattr(urllib2, 'urlopen', self.fake) setattr(gsutil, 'call', self.fake) def tearDown(self): self.assertEqual(self.fake.expectations, []) shutil.rmtree(self.tempdir) - setattr(urllib, 'urlopen', self.old_urlopen) + setattr(urllib2, 'urlopen', self.old_urlopen) setattr(gsutil, 'call', self.old_call) def test_download_gsutil(self):