1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-02 04:24:34 +00:00

more detailled warnings for source file OSErrors

This commit is contained in:
Thomas Waldmann 2023-11-15 22:39:42 +01:00
parent 53291a4ac0
commit 2fda86ce61
No known key found for this signature in database
GPG key ID: 243ACFA951F78E01

View file

@ -1,3 +1,4 @@
import errno
import os
from ..constants import * # NOQA
@ -108,6 +109,27 @@ class BackupOSWarning(BorgWarning):
"""{}: {}"""
exit_mcode = 104
@property
def exit_code(self):
if not modern_ec:
return EXIT_WARNING
exc = self.args[1]
assert isinstance(exc, BackupOSError)
if exc.errno in (errno.EPERM, errno.EACCES, ):
return PermissionWarning.exit_mcode
elif exc.errno in (errno.EIO, ):
return IOWarning.exit_mcode
else:
return self.exit_mcode
class PermissionWarning(BorgWarning):
exit_mcode = 105
class IOWarning(BorgWarning):
exit_mcode = 106
class BackupError(Exception):
"""