From efdf3fdbcd2f7654cb8d1209a8b040914437bacd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 23 Jul 2019 16:54:06 +0200 Subject: New upstream version 3.1.0 --- src/test_setup.py | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'src/test_setup.py') diff --git a/src/test_setup.py b/src/test_setup.py index 2726465..b540ab2 100644 --- a/src/test_setup.py +++ b/src/test_setup.py @@ -23,7 +23,7 @@ # from __future__ import print_function -__revision__ = "src/test_setup.py 103260fce95bf5db1c35fb2371983087d85dd611 2019-07-13 18:25:30 bdbaddog" +__revision__ = "src/test_setup.py e724ae812eb96f4858a132f5b8c769724744faf6 2019-07-21 00:04:47 bdeegan" """ Test how the setup.py script installs SCons. @@ -176,21 +176,26 @@ tar_gz = os.path.join(cwd, 'build', 'dist', '%s.tar.gz' % scons_version) zip = os.path.join(cwd, 'build', 'dist', '%s.zip' % scons_version) if os.path.isfile(zip): - try: import zipfile - except ImportError: pass + try: + import zipfile + except ImportError: + pass else: - zf = zipfile.ZipFile(zip, 'r') - - for name in zf.namelist(): - dir = os.path.dirname(name) - try: os.makedirs(dir) - except: pass - # if the file exists, then delete it before writing - # to it so that we don't end up trying to write to a symlink: - if os.path.isfile(name) or os.path.islink(name): - os.unlink(name) - if not os.path.isdir(name): - open(name, 'w').write(zf.read(name)) + with zipfile.ZipFile(zip, 'r') as zf: + + for name in zf.namelist(): + dname = os.path.dirname(name) + try: + os.makedirs(dname) + except FileExistsError: + pass + # if the file exists, then delete it before writing + # to it so that we don't end up trying to write to a symlink: + if os.path.isfile(name) or os.path.islink(name): + os.unlink(name) + if not os.path.isdir(name): + with open(name, 'w') as ofp: + ofp.write(zf.read(name)) if not os.path.isdir(scons_version) and os.path.isfile(tar_gz): # Unpack the .tar.gz file. This should create the scons_version/ -- cgit v1.2.3