Bkprt py3 maven artifact (#37041)
* Python3 issues in maven_artifact (#37035)
Fixes #33761
(cherry picked from commit 1bc860fafd
)
* Add a changelog for the python3 maven_artifact fix
This commit is contained in:
parent
422e4aa310
commit
38a498bcfd
2 changed files with 7 additions and 6 deletions
2
changelogs/fragments/py3-maven_artifact.yaml
Normal file
2
changelogs/fragments/py3-maven_artifact.yaml
Normal file
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- Fix bytes/text handling in maven_artifact that was causing tracebacks on Python3
|
|
@ -349,8 +349,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()
|
||||
else:
|
||||
|
@ -366,19 +365,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)
|
||||
|
||||
|
|
Loading…
Reference in a new issue