dlab_core.infrastructure.repositories
¶
Module Contents¶
-
exception
RepositoryDataTypeException
(name)[source]¶ Bases:
dlab_core.domain.repositories.RepositoryException
Raised when try to assign wrong data type.
Parameters: name (str) – Type name.
-
exception
RepositoryFileNotFoundException
(key)[source]¶ Bases:
dlab_core.domain.repositories.RepositoryException
Raised when try to read unavailable file.
Parameters: key (str) – File location
-
exception
RepositoryJSONContentException
[source]¶ Bases:
dlab_core.domain.repositories.RepositoryException
Raised during non JSON content serialization.
-
exception
RepositoryWrongArgumentException
[source]¶ Bases:
dlab_core.domain.repositories.RepositoryException
Raised during non JSON content serialization.
-
class
DictRepository
[source]¶ Bases:
dlab_core.domain.repositories.BaseRepository
Dictionary repository. Can be used as a base for repositories data based on dict.
-
class
BaseFileRepository
(location)[source]¶ Bases:
dlab_core.infrastructure.repositories.DictRepository
Repository based on file data.
Parameters: location (str) – Data source file location.
-
class
ArrayRepository
(data=None)[source]¶ Bases:
dlab_core.infrastructure.repositories.DictRepository
Repository based on dict data.
Parameters: data (dict) – Repository data. -
append
(self, key, value)[source]¶ Add new element into data set.
Parameters: - key (str) – Record UUID.
- value – Record value.
-
static
_validate
(data)[source]¶ Data source validator.
Parameters: data – Data for validation. Raises: RepositoryDataTypeException –
-
-
class
EnvironRepository
[source]¶ Bases:
dlab_core.infrastructure.repositories.DictRepository
Repository based on os.environ data.
-
class
JSONContentRepository
(content=None)[source]¶ Bases:
dlab_core.infrastructure.repositories.DictRepository
Repository based on JSON data.
Parameters: content (str) – JSON content for data source.
-
class
ArgumentsRepository
(arg_parse=None)[source]¶ Bases:
dlab_core.infrastructure.repositories.BaseLazyLoadRepository
Repository based on CLI arguments as data source.
Parameters: arg_parse (argparse.ArgumentParser) – Argument Parser. -
arg_parse
[source]¶ Argument parser getter.
Return type: argparse.ArgumentParser Returns: Argument Parser.
-
_load_data
(self)[source]¶ Load data from data source.
Return type: list of dict Returns: Repository data. Raises: RepositoryWrongArgumentException –
-
-
class
ConfigRepository
(location)[source]¶ Bases:
dlab_core.infrastructure.repositories.BaseFileRepository
,dlab_core.infrastructure.repositories.BaseLazyLoadRepository
Repository based on file data.
Parameters: location (str) – Data source file location.
-
class
ChainOfRepositories
(repos=())[source]¶ Bases:
dlab_core.infrastructure.repositories.DictRepository
List of repositories executed one by one till data will be found.
Parameters: repos (list of BaseRepository.) – List of repositories executed in chain. Raises: RepositoryDataTypeException – -
register
(self, repo)[source]¶ Register new repository in chain.
Parameters: repo (BaseRepository) – Repository. Raises: RepositoryDataTypeException –
-