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-Tag: llvmorg-10-init~9270 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d59857c334777d92afd3da2218e8d669751166b7;p=platform%2Fupstream%2Fllvm.git 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 llvm-svn: 356884 --- diff --git a/llvm/utils/gn/get.py b/llvm/utils/gn/get.py index 4015d59..c39649d 100755 --- a/llvm/utils/gn/get.py +++ b/llvm/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):