Skip to content

gufo.thor.validator

Config validator primitives.

ErrorContext

Bases: object

Error reporting context.

Usually used as singletone.

Example
with errors.context("section1"):
    ...
    with errors.context("subsection1"):
        ...
        errors.error("There is error")

check()

Check there is no errors.

Die with message if they are.

context(path)

Set current context.

Path is appended to existing context. .. can be used to set level up.

Examples:

with errors.context("xxx"):
    ...

die(msg=None)

Dump errors and stop execution.

Parameters:

Name Type Description Default
msg Optional[str]

Optional error message to add.

None

error(message, /, path=None)

Register error.

Errors registered in current context, if path is not set, otherwise - in path directly.

Parameters:

Name Type Description Default
message str

Error message.

required
path Optional[List[str]]

Optional path to override current context.

None

ErrorPoint dataclass

Bases: object

Error position.

__str__()

str() implementation.

as_int(data, name, /, required=True)

as_int(data: Dict[str, Any], name: str, /, required: Literal[True]) -> int
as_int(data: Dict[str, Any], name: str, /, required: Literal[False]) -> Optional[int]

Extract int from dict.

Parameters:

Name Type Description Default
data Dict[str, Any]

Data dict.

required
name str

parameter name.

required
required bool

Set or non set error if key is missed.

True

Returns:

Type Description
Optional[int]

integer value, if possible.

as_ipv4(data, name, /, required=True)

as_ipv4(data: Dict[str, Any], name: str, /, required: Literal[True]) -> IPv4Address
as_ipv4(data: Dict[str, Any], name: str, /, required: Literal[False]) -> Optional[IPv4Address]

Extract IPv4Address from dict.

Parameters:

Name Type Description Default
data Dict[str, Any]

Data dict.

required
name str

parameter name.

required
required bool

Set or non set error if key is missed.

True

Returns:

Type Description
Optional[IPv4Address]

integer value, if possible.

as_ipv4_prefix(data, name, /, required=True)

as_ipv4_prefix(data: Dict[str, Any], name: str, /, required: Literal[True]) -> IPv4Prefix
as_ipv4_prefix(data: Dict[str, Any], name: str, /, required: Literal[False]) -> Optional[IPv4Prefix]

Extract IPv4Prefix from dict.

Parameters:

Name Type Description Default
data Dict[str, Any]

Data dict.

required
name str

parameter name.

required
required bool

Set or non set error if key is missed.

True

Returns:

Type Description
Optional[IPv4Prefix]

integer value, if possible.

as_str(data, name, /, required=True)

as_str(data: Dict[str, Any], name: str, /, required: Literal[True]) -> str
as_str(data: Dict[str, Any], name: str, /, required: Literal[False]) -> Optional[str]

Extract string from dict.

Parameters:

Name Type Description Default
data Dict[str, Any]

Data dict.

required
name str

parameter name.

required
required bool

Set or non set error if key is missed.

True