summaryrefslogtreecommitdiff
path: root/Lib/shutil.py
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2003-01-24 17:36:15 +0000
committerBarry Warsaw <barry@python.org>2003-01-24 17:36:15 +0000
commit3a653ec11fe895f625485085fa89053febded331 (patch)
treea8a1a5183dbc70f556e05cb79f306ea68edfb9db /Lib/shutil.py
parent31df8411d50b96db0af233bc60e3f639ae0de84d (diff)
downloadcpython-3a653ec11fe895f625485085fa89053febded331.tar.gz
rmtree(): Make implementation agree with documentation (both latex and
docstring). Even if ignore_errors was true, an exception would occur if path didn't exist.
Diffstat (limited to 'Lib/shutil.py')
-rw-r--r--Lib/shutil.py26
1 files changed, 13 insertions, 13 deletions
diff --git a/Lib/shutil.py b/Lib/shutil.py
index ad5c99d38f..f161c6a53c 100644
--- a/Lib/shutil.py
+++ b/Lib/shutil.py
@@ -117,27 +117,27 @@ def copytree(src, dst, symlinks=0):
if errors:
raise Error, errors
-def rmtree(path, ignore_errors=0, onerror=None):
+def rmtree(path, ignore_errors=False, onerror=None):
"""Recursively delete a directory tree.
If ignore_errors is set, errors are ignored; otherwise, if
onerror is set, it is called to handle the error; otherwise, an
exception is raised.
-
"""
cmdtuples = []
- _build_cmdtuple(path, cmdtuples)
- for func, arg in cmdtuples:
- try:
+ arg = path
+ try:
+ _build_cmdtuple(path, cmdtuples)
+ for func, arg in cmdtuples:
func(arg)
- except OSError:
- exc = sys.exc_info()
- if ignore_errors:
- pass
- elif onerror is not None:
- onerror(func, arg, exc)
- else:
- raise exc[0], (exc[1][0], exc[1][1] + ' removing '+arg)
+ except OSError:
+ exc = sys.exc_info()
+ if ignore_errors:
+ pass
+ elif onerror is not None:
+ onerror(func, arg, exc)
+ else:
+ raise exc[0], (exc[1][0], exc[1][1] + ' removing '+arg)
# Helper for rmtree()
def _build_cmdtuple(path, cmdtuples):