Raise PatoolError on rmtree() errors.
This commit is contained in:
parent
b9c208b402
commit
faa19bd74e
|
@ -470,11 +470,10 @@ def handle_archive (archive, command, *args, **kwargs):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
def rmtree_log_error (func, path, exc):
|
def rmtree_error (func, path, exc):
|
||||||
"""Error log function for shutil.rmtree(). Re-raises the exception"""
|
"""Error function for shutil.rmtree(). Raises a PatoolError."""
|
||||||
msg = "Error in %s(%s): %s" % (func.__name__, path, str(exc[1]))
|
msg = "Error in %s(%s): %s" % (func.__name__, path, str(exc[1]))
|
||||||
util.log_error(msg)
|
raise util.PatoolError(msg)
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
def _diff_archives (archive1, archive2):
|
def _diff_archives (archive1, archive2):
|
||||||
|
@ -489,8 +488,8 @@ def _diff_archives (archive1, archive2):
|
||||||
path2 = _handle_archive(archive2, 'extract', outdir=tmpdir2)
|
path2 = _handle_archive(archive2, 'extract', outdir=tmpdir2)
|
||||||
return util.run([diff, "-urN", path1, path2])
|
return util.run([diff, "-urN", path1, path2])
|
||||||
finally:
|
finally:
|
||||||
shutil.rmtree(tmpdir1, onerror=rmtree_log_error)
|
shutil.rmtree(tmpdir1, onerror=rmtree_error)
|
||||||
shutil.rmtree(tmpdir2, onerror=rmtree_log_error)
|
shutil.rmtree(tmpdir2, onerror=rmtree_error)
|
||||||
|
|
||||||
|
|
||||||
def _repack_archive (archive1, archive2):
|
def _repack_archive (archive1, archive2):
|
||||||
|
@ -503,4 +502,4 @@ def _repack_archive (archive1, archive2):
|
||||||
os.chdir(tmpdir)
|
os.chdir(tmpdir)
|
||||||
_handle_archive(archive, 'create', *files)
|
_handle_archive(archive, 'create', *files)
|
||||||
finally:
|
finally:
|
||||||
shutil.rmtree(tmpdir, onerror=rmtree_log_error)
|
shutil.rmtree(tmpdir, onerror=rmtree_error)
|
||||||
|
|
Loading…
Reference in New Issue