diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2018-12-20 19:00:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-20 19:00:14 +0200 |
| commit | 8fa927e2b2fc81adb420285e470439fc3a28fcee (patch) | |
| tree | 24df4a75f94325760b58ae3509daf4683390f85c /archive_util.py | |
| parent | f7d1e8f497ec20e55a7757e34d0a6229642ba59a (diff) | |
| download | python-setuptools-git-8fa927e2b2fc81adb420285e470439fc3a28fcee.tar.gz | |
bpo-22831: Use "with" to avoid possible fd leaks in distutils. (GH-10921)
Diffstat (limited to 'archive_util.py')
| -rw-r--r-- | archive_util.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/archive_util.py b/archive_util.py index b002dc3b..565a3117 100644 --- a/archive_util.py +++ b/archive_util.py @@ -166,21 +166,21 @@ def make_zipfile(base_name, base_dir, verbose=0, dry_run=0): zip = zipfile.ZipFile(zip_filename, "w", compression=zipfile.ZIP_STORED) - if base_dir != os.curdir: - path = os.path.normpath(os.path.join(base_dir, '')) - zip.write(path, path) - log.info("adding '%s'", path) - for dirpath, dirnames, filenames in os.walk(base_dir): - for name in dirnames: - path = os.path.normpath(os.path.join(dirpath, name, '')) + with zip: + if base_dir != os.curdir: + path = os.path.normpath(os.path.join(base_dir, '')) zip.write(path, path) log.info("adding '%s'", path) - for name in filenames: - path = os.path.normpath(os.path.join(dirpath, name)) - if os.path.isfile(path): + for dirpath, dirnames, filenames in os.walk(base_dir): + for name in dirnames: + path = os.path.normpath(os.path.join(dirpath, name, '')) zip.write(path, path) log.info("adding '%s'", path) - zip.close() + for name in filenames: + path = os.path.normpath(os.path.join(dirpath, name)) + if os.path.isfile(path): + zip.write(path, path) + log.info("adding '%s'", path) return zip_filename |
