| 123456789101112131415161718192021222324252627282930313233 | """Abstract interface for file storage implementations."""from abc import ABC, abstractmethodfrom collections.abc import Generatorclass BaseStorage(ABC):    """Interface for file storage."""    @abstractmethod    def save(self, filename, data):        raise NotImplementedError    @abstractmethod    def load_once(self, filename: str) -> bytes:        raise NotImplementedError    @abstractmethod    def load_stream(self, filename: str) -> Generator:        raise NotImplementedError    @abstractmethod    def download(self, filename, target_filepath):        raise NotImplementedError    @abstractmethod    def exists(self, filename):        raise NotImplementedError    @abstractmethod    def delete(self, filename):        raise NotImplementedError
 |