vorta/src/vorta/borg/version.py

33 lines
874 B
Python

from vorta.i18n import trans_late
from .borg_job import BorgJob
class BorgVersionJob(BorgJob):
"""
Gets the path of the borg binary to be used and the borg version.
Used to display under 'Misc' and later for version-specific compatibility.
"""
def finished_event(self, result):
self.result.emit(result)
@classmethod
def prepare(cls):
ret = {'ok': False}
if cls.prepare_bin() is None:
ret['message'] = trans_late('messages', 'Borg binary was not found.')
return ret
ret['cmd'] = ['borg', '--version']
ret['ok'] = True
return ret
def process_result(self, result):
if result['returncode'] == 0:
version = result['data'].strip().split(' ')[1]
path = self.prepare_bin()
result['data'] = {'version': version, 'path': path}