diff options
-rw-r--r-- | Lib/tarfile.py | 2 | ||||
-rw-r--r-- | Lib/test/test_tarfile.py | 7 | ||||
-rw-r--r-- | Misc/NEWS | 11 |
3 files changed, 19 insertions, 1 deletions
diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 4c7dadbc6a..261d9fbc36 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -1842,7 +1842,7 @@ class TarFile(object): tarinfo.type = DIRTYPE # Directory names should have a '/' at the end. - if tarinfo.isdir(): + if tarinfo.isdir() and not tarinfo.name.endswith("/"): tarinfo.name += "/" self.members.append(tarinfo) diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 692d72a17c..b1cbcf69c3 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -191,6 +191,13 @@ class ReadTest(BaseTest): except: pass + def test_dirtype(self): + for tarinfo in self.tar: + if tarinfo.isdir(): + self.assert_(tarinfo.name.endswith("/")) + self.assert_(not tarinfo.name[:-1].endswith("/")) + + class ReadStreamTest(ReadTest): sep = "|" @@ -4,6 +4,17 @@ Python News (editors: check NEWS.help for information about editing NEWS using ReST.) +What's New in Python 2.5.2c1? +============================= + +*Release date: XX-XXX-XXXX* + +Library +------- + +- tarfile.py: Fix directory names to have only one trailing slash. + + What's New in Python 2.5.1? ============================= |