From cacbf8335d51a8635961f8be8a3358f5a98ab942 Mon Sep 17 00:00:00 2001 From: Houkime <> Date: Fri, 7 Jul 2023 13:14:30 +0000 Subject: [PATCH] fix(backups): actually mount if asked for an inplace restore --- selfprivacy_api/backup/backuppers/restic_backupper.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/selfprivacy_api/backup/backuppers/restic_backupper.py b/selfprivacy_api/backup/backuppers/restic_backupper.py index 7f16a91..565a084 100644 --- a/selfprivacy_api/backup/backuppers/restic_backupper.py +++ b/selfprivacy_api/backup/backuppers/restic_backupper.py @@ -219,9 +219,16 @@ class ResticBackupper(AbstractBackupper): raise ValueError("cannot restore without knowing where to!") with tempfile.TemporaryDirectory() as dir: - self.do_restore(snapshot_id, target=dir, verify=verify) + if verify: + self.do_restore(snapshot_id, target=dir, verify=verify) + snapshot_root = dir + else: # attempting inplace restore via mount + sync + self.mount_repo(dir) + snapshot_root = join(dir, "ids", snapshot_id) + + assert snapshot_root is not None for folder in folders: - src = join(dir, folder.strip("/")) + src = join(snapshot_root, folder.strip("/")) if not exists(src): raise ValueError( f"there is no such path: {src}. We tried to find {folder}"