From: Serhiy Storchaka Date: Sun, 17 Aug 2014 12:11:06 +0000 (+0300) Subject: Issue #22201: Command-line interface of the zipfile module now correctly X-Git-Tag: v2.7.9rc1~299 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c82c4c34d8fceccc5942befa42440bbbe0359ac5;p=thirdparty%2FPython%2Fcpython.git Issue #22201: Command-line interface of the zipfile module now correctly extracts ZIP files with directory entries. Patch by Ryan Wilson. --- diff --git a/Lib/zipfile.py b/Lib/zipfile.py index a0beae2a6056..fe71765af02a 100644 --- a/Lib/zipfile.py +++ b/Lib/zipfile.py @@ -1492,18 +1492,7 @@ def main(args = None): sys.exit(1) with ZipFile(args[1], 'r') as zf: - out = args[2] - for path in zf.namelist(): - if path.startswith('./'): - tgt = os.path.join(out, path[2:]) - else: - tgt = os.path.join(out, path) - - tgtdir = os.path.dirname(tgt) - if not os.path.exists(tgtdir): - os.makedirs(tgtdir) - with open(tgt, 'wb') as fp: - fp.write(zf.read(path)) + zf.extractall(args[2]) elif args[0] == '-c': if len(args) < 3: diff --git a/Misc/NEWS b/Misc/NEWS index 86deb58cdebe..5f731bf7ecbd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -84,6 +84,12 @@ Extension Modules adds support for the Linux AArch64 and POWERPC ELF ABIv2 little endian architectures. +Tools/Demos +----------- + +- Issue #22201: Command-line interface of the zipfile module now correctly + extracts ZIP files with directory entries. Patch by Ryan Wilson. + Tests -----