refactor(backups): NoneBackupper class for those cases when we do not know

pull/35/head
Houkime 2023-06-16 16:03:09 +00:00 committed by Inex Code
parent a56461fb96
commit cd32aa83b7
3 changed files with 29 additions and 1 deletions

View File

@ -0,0 +1,26 @@
from typing import List
from selfprivacy_api.models.backup.snapshot import Snapshot
from selfprivacy_api.backup.backuppers import AbstractBackuper
class NoneBackupper(AbstractBackuper):
def is_initted(self, repo_name: str) -> bool:
return False
def start_backup(self, folders: List[str], repo_name: str):
raise NotImplementedError
def get_snapshots(self, repo_name) -> List[Snapshot]:
"""Get all snapshots from the repo"""
raise NotImplementedError
def init(self, repo_name):
raise NotImplementedError
def restore_from_backup(self, repo_name: str, snapshot_id: str, folders: List[str]):
"""Restore a target folder using a snapshot"""
raise NotImplementedError
def restored_size(self, repo_name, snapshot_id) -> float:
raise NotImplementedError

View File

@ -9,6 +9,7 @@ PROVIDER_MAPPING = {
BackupProvider.BACKBLAZE: Backblaze,
BackupProvider.MEMORY: InMemoryBackup,
BackupProvider.FILE: LocalFileBackup,
BackupProvider.NONE: AbstractBackupProvider,
}

View File

@ -5,12 +5,13 @@ require different backends
"""
from abc import ABC
from selfprivacy_api.backup.backuppers import AbstractBackuper
from selfprivacy_api.backup.backuppers.none_backupper import NoneBackupper
class AbstractBackupProvider(ABC):
@property
def backuper(self) -> AbstractBackuper:
raise NotImplementedError
return NoneBackupper
name = "NONE"