selfprivacy-rest-api/selfprivacy_api/backup/providers/provider.py

26 lines
796 B
Python
Raw Normal View History

"""
An abstract class for BackBlaze, S3 etc.
2023-06-23 12:40:10 +03:00
It assumes that while some providers are supported via restic/rclone, others
may require different backends
"""
2023-06-23 12:40:10 +03:00
from abc import ABC, abstractmethod
from selfprivacy_api.backup.backuppers import AbstractBackupper
2023-06-23 12:40:10 +03:00
from selfprivacy_api.graphql.queries.providers import (
BackupProvider as BackupProviderEnum,
)
class AbstractBackupProvider(ABC):
backupper: AbstractBackupper
2023-02-01 13:58:55 +02:00
2023-06-23 12:40:10 +03:00
name: BackupProviderEnum
2023-05-29 18:34:26 +03:00
def __init__(self, login="", key="", location="", repo_id=""):
self.backupper.set_creds(login, key, location)
2023-02-01 13:58:55 +02:00
self.login = login
self.key = key
2023-05-29 18:34:26 +03:00
self.location = location
# We do not need to do anything with this one
# Just remember in case the app forgets
self.repo_id = repo_id