From: Guido van Rossum Date: Wed, 14 Jul 2004 00:48:58 +0000 (+0000) Subject: - Bug #981530: Fix UnboundLocalError in shutil.rmtree(). This affects X-Git-Tag: v2.4a2~278 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8cec3ab0e44a65d9bb0b70f6963defd21dbeccbf;p=python - 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???] --- diff --git a/Doc/lib/libshutil.tex b/Doc/lib/libshutil.tex index a84fca960c..5dd1b6ca28 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 05f34d8466..bcae72f1da 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()