mirror of https://github.com/python/cpython
Merged revisions 72893 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r72893 | martin.v.loewis | 2009-05-24 21:30:52 +0200 (So, 24 Mai 2009) | 3 lines Issue #6050: Don't fail extracting a directory from a zipfile if the directory already exists. ........
This commit is contained in:
parent
6c3064beed
commit
e7e46f8152
|
@ -994,6 +994,11 @@ class TestWithDirectory(unittest.TestCase):
|
||||||
self.assertTrue(os.path.isdir(os.path.join(TESTFN2, "a", "b")))
|
self.assertTrue(os.path.isdir(os.path.join(TESTFN2, "a", "b")))
|
||||||
self.assertTrue(os.path.exists(os.path.join(TESTFN2, "a", "b", "c")))
|
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):
|
def testStoreDir(self):
|
||||||
os.mkdir(os.path.join(TESTFN2, "x"))
|
os.mkdir(os.path.join(TESTFN2, "x"))
|
||||||
zipf = zipfile.ZipFile(TESTFN, "w")
|
zipf = zipfile.ZipFile(TESTFN, "w")
|
||||||
|
|
|
@ -959,7 +959,8 @@ class ZipFile:
|
||||||
os.makedirs(upperdirs)
|
os.makedirs(upperdirs)
|
||||||
|
|
||||||
if member.filename[-1] == '/':
|
if member.filename[-1] == '/':
|
||||||
os.mkdir(targetpath)
|
if not os.path.isdir(targetpath):
|
||||||
|
os.mkdir(targetpath)
|
||||||
return targetpath
|
return targetpath
|
||||||
|
|
||||||
source = self.open(member, pwd=pwd)
|
source = self.open(member, pwd=pwd)
|
||||||
|
|
|
@ -50,6 +50,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #6050: Don't fail extracting a directory from a zipfile if
|
||||||
|
the directory already exists.
|
||||||
|
|
||||||
- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
|
- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
|
||||||
than an int, which makes some operations possible under 64-bit Linux (e.g.
|
than an int, which makes some operations possible under 64-bit Linux (e.g.
|
||||||
DN_MULTISHOT with F_NOTIFY).
|
DN_MULTISHOT with F_NOTIFY).
|
||||||
|
|
Loading…
Reference in New Issue