mirror of https://github.com/borgbase/vorta
Notify on failed repo checks (#1113)
This commit is contained in:
parent
4c3e97a76c
commit
8f1fc6deb7
|
@ -39,6 +39,7 @@ class VortaApp(QtSingleApplication):
|
|||
backup_cancelled_event = QtCore.pyqtSignal()
|
||||
backup_log_event = QtCore.pyqtSignal(str, dict)
|
||||
backup_progress_event = QtCore.pyqtSignal(str)
|
||||
check_failed_event = QtCore.pyqtSignal(str)
|
||||
|
||||
def __init__(self, args_raw, single_app=False):
|
||||
super().__init__(APP_ID, args_raw)
|
||||
|
@ -79,6 +80,7 @@ class VortaApp(QtSingleApplication):
|
|||
self.backup_finished_event.connect(self.backup_finished_event_response)
|
||||
self.backup_cancelled_event.connect(self.backup_cancelled_event_response)
|
||||
self.message_received_event.connect(self.message_received_event_response)
|
||||
self.check_failed_event.connect(self.check_failed_response)
|
||||
self.backup_log_event.connect(self.react_to_log)
|
||||
self.aboutToQuit.connect(self.quit_app_action)
|
||||
self.set_borg_details_action()
|
||||
|
@ -285,3 +287,12 @@ class VortaApp(QtSingleApplication):
|
|||
if BackupProfileModel.select().count() == 0:
|
||||
default_profile = BackupProfileModel(name='Default')
|
||||
default_profile.save()
|
||||
|
||||
def check_failed_response(self, repo_url):
|
||||
msg = QMessageBox()
|
||||
msg.setIcon(QMessageBox.Critical)
|
||||
msg.setStandardButtons(QMessageBox.Ok)
|
||||
msg.setWindowTitle(self.tr('Repo Check Failed'))
|
||||
msg.setText(self.tr('Repository data check for repo %s failed') % repo_url)
|
||||
msg.setInformativeText(self.tr('Repair or recreate the repository soon to avoid missing data.'))
|
||||
msg.exec()
|
||||
|
|
|
@ -10,7 +10,11 @@ class BorgCheckJob(BorgJob):
|
|||
def finished_event(self, result):
|
||||
self.app.backup_finished_event.emit(result)
|
||||
self.result.emit(result)
|
||||
self.app.backup_progress_event.emit(self.tr('Check completed.'))
|
||||
if result['returncode'] != 0:
|
||||
self.app.backup_progress_event.emit(self.tr('Repo check failed. See logs for details.'))
|
||||
self.app.check_failed_event.emit(self.params['repo_url'])
|
||||
else:
|
||||
self.app.backup_progress_event.emit(self.tr('Check completed.'))
|
||||
|
||||
@classmethod
|
||||
def prepare(cls, profile):
|
||||
|
|
Loading…
Reference in New Issue