diff options
-rw-r--r-- | Lib/shutil.py | 14 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
2 files changed, 12 insertions, 4 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py index c3ff687bff..f30ba86483 100644 --- a/Lib/shutil.py +++ b/Lib/shutil.py @@ -15,6 +15,11 @@ __all__ = ["copyfileobj","copyfile","copymode","copystat","copy","copy2", class Error(EnvironmentError): pass +try: + WindowsError +except NameError: + WindowsError = None + def copyfileobj(fsrc, fdst, length=16*1024): """copy data from file-like object fsrc to file-like object fdst""" while 1: @@ -129,11 +134,12 @@ def copytree(src, dst, symlinks=False): errors.extend(err.args[0]) try: copystat(src, dst) - except WindowsError: - # can't copy file access times on Windows - pass except OSError, why: - errors.extend((src, dst, str(why))) + if WindowsError is not None and isinstance(why, WindowsError): + # Copying file access times may fail on Windows + pass + else: + errors.extend((src, dst, str(why))) if errors: raise Error, errors @@ -77,6 +77,8 @@ Core and builtins Library ------- +- Issue #3134: shutil referenced undefined WindowsError symbol. + - Issue #1342811: Fix leak in Tkinter.Menu.delete. Commands associated to menu entries were not deleted. |