summaryrefslogtreecommitdiff
path: root/rdiff-backup/src/highlevel.py
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/src/highlevel.py')
-rw-r--r--rdiff-backup/src/highlevel.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/rdiff-backup/src/highlevel.py b/rdiff-backup/src/highlevel.py
index 36ac997..e1cfc28 100644
--- a/rdiff-backup/src/highlevel.py
+++ b/rdiff-backup/src/highlevel.py
@@ -100,11 +100,11 @@ class HLSourceStruct:
if dest_sig:
if dest_sig.isplaceholder(): yield dest_sig
else:
- try: yield RORPIter.diffonce(dest_sig, dsrp)
- except (IOError, OSError, RdiffException):
- Log.exception()
- Log("Error producing a diff of %s" %
- dsrp and dsrp.path)
+ diff = Robust.check_common_error(
+ lambda: RORPIter.diffonce(dest_sig, dsrp),
+ lambda exc: Log("Error %s producing a diff of %s" %
+ (str(exc), dsrp and dsrp.path), 2))
+ if diff: yield diff
if dsrp: finalizer(dsrp.index, dsrp)
finalizer.Finish()
return diffs()
@@ -269,10 +269,10 @@ class HLDestinationStruct:
"""Run thunk, catch certain errors skip files"""
try: return thunk()
except (EnvironmentError, SkipFileException, DSRPPermError,
- RPathException), exp:
+ RPathException), exc:
Log.exception()
if (not isinstance(exc, EnvironmentError) or
- (errno.errorcode[exp[0]] in
+ (errno.errorcode[exc[0]] in
['EPERM', 'ENOENT', 'EACCES', 'EBUSY', 'EEXIST',
'ENOTDIR', 'ENAMETOOLONG', 'EINTR', 'ENOTEMPTY',
'EIO', # reported by docv