From 8cec3ab0e44a65d9bb0b70f6963defd21dbeccbf Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 14 Jul 2004 00:48:58 +0000 Subject: - Bug #981530: Fix UnboundLocalError in shutil.rmtree(). This affects the documented behavior: the function passed to the onerror() handler can now also be os.listdir. [I could've sworn I checked this in, but apparently I didn't, or it got lost???] --- Doc/lib/libshutil.tex | 2 +- Lib/test/test_shutil.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Doc/lib/libshutil.tex b/Doc/lib/libshutil.tex index a84fca9..5dd1b6c 100644 --- a/Doc/lib/libshutil.tex +++ b/Doc/lib/libshutil.tex @@ -90,7 +90,7 @@ rather than printing a message]{2.3} If \var{onerror} is provided, it must be a callable that accepts three parameters: \var{function}, \var{path}, and \var{excinfo}. The first parameter, \var{function}, is the function which raised - the exception; it will be \function{os.remove()} or + the exception; it will be \function{os.listdir()}, \function{os.remove()} or \function{os.rmdir()}. The second parameter, \var{path}, will be the path name passed to \var{function}. The third parameter, \var{excinfo}, will be the exception information return by diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index 05f34d8..bcae72f 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -13,6 +13,7 @@ class TestShutil(unittest.TestCase): filename = tempfile.mktemp() self.assertRaises(OSError, shutil.rmtree, filename) self.assertEqual(shutil.rmtree(filename, True), None) + shutil.rmtree(filename, False, lambda func, arg, exc: None) def test_dont_move_dir_in_itself(self): src_dir = tempfile.mkdtemp() -- cgit v0.12