from selfprivacy_api.graphql.queries.providers import BackupProvider from selfprivacy_api.backup.providers.provider import AbstractBackupProvider from selfprivacy_api.backup.providers.backblaze import Backblaze from selfprivacy_api.backup.providers.memory import InMemoryBackup from selfprivacy_api.backup.providers.local_file import LocalFileBackup PROVIDER_MAPPING = { BackupProvider.BACKBLAZE: Backblaze, BackupProvider.MEMORY: InMemoryBackup, BackupProvider.FILE: LocalFileBackup, } def get_provider(provider_type: BackupProvider) -> AbstractBackupProvider: return PROVIDER_MAPPING[provider_type] def get_kind(provider: AbstractBackupProvider) -> str: for key, value in PROVIDER_MAPPING.items(): if isinstance(provider, value): return key.value