diff --git a/src/vorta/borg/_compatibility.py b/src/vorta/borg/_compatibility.py index e7ac79d1..4cef29df 100644 --- a/src/vorta/borg/_compatibility.py +++ b/src/vorta/borg/_compatibility.py @@ -3,6 +3,7 @@ from pkg_resources import parse_version MIN_BORG_FOR_FEATURE = { 'BLAKE2': parse_version('1.1.4'), 'ZSTD': parse_version('1.1.4'), + 'JSON_LOG': parse_version('1.1.0') # add new version-checks here. } @@ -14,7 +15,7 @@ class BorgCompatibility: to customize Borg commands by version in the future. """ - version = '0.0' + version = '1.1.0' path = '' def set_version(self, version, path): diff --git a/src/vorta/borg/borg_thread.py b/src/vorta/borg/borg_thread.py index c928a8a8..454aa3d6 100644 --- a/src/vorta/borg/borg_thread.py +++ b/src/vorta/borg/borg_thread.py @@ -13,7 +13,7 @@ from subprocess import Popen, PIPE from vorta.i18n import trans_late from vorta.models import EventLogModel, BackupProfileMixin -from vorta.utils import keyring +from vorta.utils import keyring, borg_compat from vorta.keyring.db import VortaDBKeyring mutex = QtCore.QMutex() @@ -109,6 +109,10 @@ class BorgThread(QtCore.QThread, BackupProfileMixin): ret['message'] = trans_late('messages', 'Add a backup repository first.') return ret + if not borg_compat.check('JSON_LOG'): + ret['message'] = trans_late('messages', 'Your Borg version is too old. >=1.1.0 is required.') + return ret + # Try to get password from chosen keyring backend. logger.debug("Using %s keyring to store passwords.", keyring.__class__.__name__) ret['password'] = keyring.get_password('vorta-repo', profile.repo.url)