[Python-checkins] r72893 - in python/trunk: Lib/test/test_zipfile.py Lib/zipfile.py Misc/NEWS
martin.v.loewis
python-checkins at python.org
Sun May 24 21:30:52 CEST 2009
Author: martin.v.loewis
Date: Sun May 24 21:30:52 2009
New Revision: 72893
Log:
Issue #6050: Don't fail extracting a directory from a zipfile if
the directory already exists.
Modified:
python/trunk/Lib/test/test_zipfile.py
python/trunk/Lib/zipfile.py
python/trunk/Misc/NEWS
Modified: python/trunk/Lib/test/test_zipfile.py
==============================================================================
--- python/trunk/Lib/test/test_zipfile.py (original)
+++ python/trunk/Lib/test/test_zipfile.py Sun May 24 21:30:52 2009
@@ -1023,6 +1023,11 @@
self.assertTrue(os.path.isdir(os.path.join(TESTFN2, "a", "b")))
self.assertTrue(os.path.exists(os.path.join(TESTFN2, "a", "b", "c")))
+ def test_bug_6050(self):
+ # Extraction should succeed if directories already exist
+ os.mkdir(os.path.join(TESTFN2, "a"))
+ self.testExtractDir()
+
def testStoreDir(self):
os.mkdir(os.path.join(TESTFN2, "x"))
zipf = zipfile.ZipFile(TESTFN, "w")
Modified: python/trunk/Lib/zipfile.py
==============================================================================
--- python/trunk/Lib/zipfile.py (original)
+++ python/trunk/Lib/zipfile.py Sun May 24 21:30:52 2009
@@ -971,7 +971,8 @@
os.makedirs(upperdirs)
if member.filename[-1] == '/':
- os.mkdir(targetpath)
+ if not os.path.isdir(targetpath):
+ os.mkdir(targetpath)
return targetpath
source = self.open(member, pwd=pwd)
Modified: python/trunk/Misc/NEWS
==============================================================================
--- python/trunk/Misc/NEWS (original)
+++ python/trunk/Misc/NEWS Sun May 24 21:30:52 2009
@@ -302,6 +302,9 @@
Library
-------
+- Issue #6050: Don't fail extracting a directory from a zipfile if
+ the directory already exists.
+
- Issue #5311: bdist_msi can now build packages that do not depend on a
specific Python version.
More information about the Python-checkins
mailing list