def on_menu_databases_restore(self, *_): selected_databases = self._databases.selected if len(selected_databases) == 1 and selected_databases[0].db_name.find('backup$') == 0: restore_database = True source_name = selected_databases[0].db_name target_name = source_name[7::] try: self._model.get_database(target_name) response = GtkHelper.run_dialog(self._win, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, "Target database already exists, continue?") restore_database = response is Gtk.ResponseType.YES except: pass if restore_database: repl = Replication(self._model, source_name, target_name, drop_first=True, create=True) self.queue_replication(repl)
def on_menu_databases_backup(self, *_): for selected_database in self._databases.selected: if selected_database.db_name.find('backup$') < 0: backup_database = True source_name = selected_database.db_name target_name = 'backup$' + source_name try: self._model.get_database(target_name) response = GtkHelper.run_dialog( self._win, Gtk.MessageType.QUESTION, Gtk.ButtonsType.YES_NO, "Target database '{}' already exists, continue?".format(target_name)) backup_database = response is Gtk.ResponseType.YES except: pass if backup_database: repl = Replication(self._model, source_name, target_name, drop_first=True, create=True) self.queue_replication(repl)