blueetl.resolver

Resolver.

Classes

AttrResolver(root)

AttrResolver class.

ItemResolver(root)

ItemResolver class.

Resolver(root)

Resolver class.

Exceptions

ResolverError

Error raised when the requested reference cannot be resolved.

class blueetl.resolver.AttrResolver(root: Any)

Bases: Resolver

AttrResolver class.

Examples

>>> from unittest.mock import Mock
>>> obj = Mock()  # any object with nested attributes
>>> obj.a.b.c = 123
>>> resolver = AttrResolver(obj)
>>> resolver.get("a.b.c")
123

Initialize the Resolver.

Parameters:

root – referenced root object.

class blueetl.resolver.ItemResolver(root: Any)

Bases: Resolver

ItemResolver class.

Examples

>>> obj = {"a": {"b": {"c": 123}}}
>>> resolver = ItemResolver(obj)
>>> resolver.get("a.b.c")
123

Initialize the Resolver.

Parameters:

root – referenced root object.

class blueetl.resolver.Resolver(root: Any)

Bases: ABC

Resolver class.

Initialize the Resolver.

Parameters:

root – referenced root object.

get(ref: str) Any

Return the object referred by the ref string.

Parameters:

ref – string with attributes separated by dot.

exception blueetl.resolver.ResolverError

Bases: Exception

Error raised when the requested reference cannot be resolved.