import abc from .metadata import AbstractMetadataEngine class AbstractRepository(abc.ABC): metadata_engine = AbstractMetadataEngine @abc.abstractmethod def schemas(): """ List schemas """ raise NotImplementedError @abc.abstractmethod def tables(schema): """ List table in schema""" raise NotImplementedError @abc.abstractmethod def info(self, path): """ Get infos about a file""" raise NotImplementedError @abc.abstractmethod def read(self, path): """ Get content of a file""" raise NotImplementedError @abc.abstractmethod def write(self, path, content): """ Write content into the file""" raise NotImplementedError @abc.abstractmethod def delete(self, path): """ Delete the file """ raise NotImplementedError