def delete_backup(self): try: delete_rename_plan_backup() self.deleted_backup.emit() self._prologue_finished() except Exception as exc: self.delete_backup_error.emit(exc)
def revert_backup(self): try: plan = load_rename_plan_backup() complete_success = plan.undo_partial_execution() delete_rename_plan_backup() self.reverted_backup.emit(complete_success) self._prologue_finished() except Exception as exc: self.revert_backup_error.emit(exc)
def _recompute_async_impl(self, check_abort, renamed_files, start_planning): self._on_async_progress(ProgressInfo.make_indeterminate()) rename_plan = make_rename_plan(renamed_files) save_rename_plan_backup(rename_plan) try: rename_plan.execute(self._on_async_progress) finally: delete_rename_plan_backup() return True
def test_basic(self): with patch( 'baon.core.plan.rename_plan_backup.get_rename_plan_backup_filename', new=lambda: self.resolve_test_path('backup.json'), ): self.assertFalse(rename_plan_backup_exists()) save_rename_plan_backup(self.RENAME_PLAN_EXAMPLE) self.assertTrue(rename_plan_backup_exists()) reloaded_plan = load_rename_plan_backup() self.assertEqual(reloaded_plan, self.RENAME_PLAN_EXAMPLE) delete_rename_plan_backup() self.assertFalse(rename_plan_backup_exists())