From: Nico Weber Date: Mon, 25 Mar 2019 11:32:27 +0000 (+0000) Subject: gn build: Let get.py keep zip file in memory instead of using a temp file X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=af179cc68ee0288582ce01686a2e7361737fb2be;p=llvm gn build: Let get.py keep zip file in memory instead of using a temp file The zip is small, and it's a bit less code this way. No intended behavior change. Differential Revision: https://reviews.llvm.org/D59677 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356884 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/utils/gn/get.py b/utils/gn/get.py index 4015d5986c9..c39649df78a 100755 --- a/utils/gn/get.py +++ b/utils/gn/get.py @@ -3,27 +3,20 @@ from __future__ import print_function +import io import os import urllib2 import sys -import tempfile import zipfile -def download_url(url, output_file): - """Download url into output_file.""" +def download_and_unpack(url, output_dir, gn): + """Download an archive from url and extract gn from it into output_dir.""" print('downloading %s ...' % url, end='') sys.stdout.flush() - output_file.write(urllib2.urlopen(url).read()) + data = urllib2.urlopen(url).read() print(' done') - - -def download_and_unpack(url, output_dir, gn): - """Download an archive from url and extract gn from it into output_dir.""" - with tempfile.TemporaryFile() as f: - download_url(url, f) - f.seek(0) - zipfile.ZipFile(f).extract(gn, path=output_dir) + zipfile.ZipFile(io.BytesIO(data)).extract(gn, path=output_dir) def set_executable_bit(path):