mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merged revisions 67717 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r67717 | lars.gustaebel | 2008-12-12 14:58:03 +0100 (Fri, 12 Dec 2008) | 2 lines Issue #4616: TarFile.utime(): Restore directory times on Windows. ........
This commit is contained in:
parent
a5bbf20017
commit
43fcf3a493
3 changed files with 5 additions and 10 deletions
|
@ -2265,10 +2265,6 @@ class TarFile(object):
|
|||
"""
|
||||
if not hasattr(os, 'utime'):
|
||||
return
|
||||
if sys.platform == "win32" and tarinfo.isdir():
|
||||
# According to msdn.microsoft.com, it is an error (EACCES)
|
||||
# to use utime() on directories.
|
||||
return
|
||||
try:
|
||||
os.utime(targetpath, (tarinfo.mtime, tarinfo.mtime))
|
||||
except EnvironmentError as e:
|
||||
|
|
|
@ -255,17 +255,14 @@ class MiscReadTest(ReadTest):
|
|||
def test_extractall(self):
|
||||
# Test if extractall() correctly restores directory permissions
|
||||
# and times (see issue1735).
|
||||
if sys.platform == "win32":
|
||||
# Win32 has no support for utime() on directories or
|
||||
# fine grained permissions.
|
||||
return
|
||||
|
||||
tar = tarfile.open(tarname, encoding="iso8859-1")
|
||||
directories = [t for t in tar if t.isdir()]
|
||||
tar.extractall(TEMPDIR, directories)
|
||||
for tarinfo in directories:
|
||||
path = os.path.join(TEMPDIR, tarinfo.name)
|
||||
self.assertEqual(tarinfo.mode & 0o777, os.stat(path).st_mode & 0o777)
|
||||
if sys.platform != "win32":
|
||||
# Win32 has no support for fine grained permissions.
|
||||
self.assertEqual(tarinfo.mode & 0o777, os.stat(path).st_mode & 0o777)
|
||||
self.assertEqual(tarinfo.mtime, os.path.getmtime(path))
|
||||
tar.close()
|
||||
|
||||
|
|
|
@ -45,6 +45,8 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #4616: TarFile.utime(): Restore directory times on Windows.
|
||||
|
||||
- Issue #4021: tokenize.detect_encoding() now raises a SyntaxError when the
|
||||
codec cannot be found. This is for compatibility with the builtin behavior.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue