1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-02-28 16:56:33 +00:00

print_warning*: support warning msgids, fixes #7080

This commit is contained in:
Thomas Waldmann 2023-11-18 22:37:38 +01:00
parent 5168a97782
commit 4adc782100
No known key found for this signature in database
GPG key ID: 243ACFA951F78E01

View file

@ -133,19 +133,21 @@ def print_warning(self, msg, *args, **kw):
warning_code = kw.get("wc", EXIT_WARNING) # note: wc=None can be used to not influence exit code
warning_type = kw.get("wt", "percent")
assert warning_type in ("percent", "curly")
warning_msgid = kw.get("msgid")
if warning_code is not None:
add_warning(msg, *args, wc=warning_code, wt=warning_type)
if warning_type == "percent":
output = args and msg % args or msg
else: # == "curly"
output = args and msg.format(*args) or msg
logger.warning(output)
logger.warning(output, msgid=warning_msgid) if warning_msgid else logger.warning(output)
def print_warning_instance(self, warning):
assert isinstance(warning, BorgWarning)
msg = type(warning).__doc__
msgid = type(warning).__qualname__
args = warning.args
self.print_warning(msg, *args, wc=warning.exit_code, wt="curly")
self.print_warning(msg, *args, wc=warning.exit_code, wt="curly", msgid=msgid)
def print_file_status(self, status, path):
# if we get called with status == None, the final file status was already printed