Python3 issues in maven_artifact (#37035)

Fixes #33761

(cherry picked from commit 1bc860fafd)
This commit is contained in:
Toshio Kuratomi 2018-03-05 12:11:27 -08:00
parent 98b5ffec04
commit e0bc936b56

View file

@ -345,8 +345,7 @@ class MavenDownloader:
if not self.verify_md5(filename, url + ".md5"):
response = self._request(url, "Failed to download artifact " + str(artifact), lambda r: r)
if response:
f = open(filename, 'w')
# f.write(response.read())
f = open(filename, 'wb')
self._write_chunks(response, f, report_hook=self.chunk_report)
f.close()
return True
@ -364,19 +363,19 @@ class MavenDownloader:
if bytes_so_far >= total_size:
sys.stdout.write('\n')
def _write_chunks(self, response, file, chunk_size=8192, report_hook=None):
total_size = response.info().getheader('Content-Length').strip()
def _write_chunks(self, response, filehandle, chunk_size=8192, report_hook=None):
total_size = response.info().get('Content-Length').strip()
total_size = int(total_size)
bytes_so_far = 0
while 1:
while True:
chunk = response.read(chunk_size)
bytes_so_far += len(chunk)
if not chunk:
break
file.write(chunk)
filehandle.write(chunk)
if report_hook:
report_hook(bytes_so_far, chunk_size, total_size)