dlab_core.infrastructure.repositories

Module Contents

LC_ERR_WRONG_ARGUMENTS = Unrecognized arguments[source]
LC_ERR_INVALID_DATA_TYPE = Invalid context type, should be instance of {name}[source]
LC_ERR_NO_FILE = No such file or directory: "{location}".[source]
LC_ERR_NOT_JSON_CONTENT = No JSON object could be decoded[source]
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.

data[source]

Repository data getter.

Return type:dict of Tuple
Returns:Repository data.
find_one(self, key)[source]

Find one record in storage.

Parameters:key (str) – Record unique identifier.
Return type:dict
Returns:Record data.
find_all(self)[source]

Finds all entities in the repository.

Return type:list of dict
Returns:All records from data storage.
class BaseLazyLoadRepository[source]

Bases: dlab_core.infrastructure.repositories.DictRepository

data[source]

Repository data getter.

Return type:list of dict
Returns:Repository data.
_load_data(self)[source]

Load data from data source.

Return type:list of dict
Returns:Repository data.
class BaseFileRepository(location)[source]

Bases: dlab_core.infrastructure.repositories.DictRepository

Repository based on file data.

Parameters:location (str) – Data source file location.
location[source]

File location getter.

Return type:str
Returns:File location.
classmethod _validate(cls, location)[source]

Validate file location.

Raises:
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.

find_one(self, key)[source]

Find one record in storage.

Parameters:key (str) – Record unique identifier.
Return type:dict
Returns:Record 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.
content[source]

Content getter.

Return type:str
Returns:JSON data content.
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.
static _silence_stderr()[source]

Turn off stderr.

_load_data(self)[source]

Load data from data source.

Return type:list of dict
Returns:Repository data.
Raises:RepositoryWrongArgumentException
add_argument(self, *args, **kwargs)[source]

Add argument parser argument.

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.
VARIABLE_TEMPLATE = {0}_{1}[source]
_load_data(self)[source]

Load data from data source.

Return type:list of dict
Returns:Repository data.
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
find_one(self, key)[source]

Find one record in storage.

Parameters:key (str) – Record unique identifier.
Return type:dict
Returns:Record data.
find_all(self)[source]

Finds all entities in the repository.

Return type:list of dict
Returns:All records from data storage.