Skip to content

liblaf.grapes.errors ¤

Classes:

Functions:

DispatchLookupError ¤

DispatchLookupError(
    func: Callable,
    args: Sequence = (),
    kwargs: Mapping = {},
)

Bases: LookupError


              flowchart TD
              liblaf.grapes.errors.DispatchLookupError[DispatchLookupError]

              

              click liblaf.grapes.errors.DispatchLookupError href "" "liblaf.grapes.errors.DispatchLookupError"
            

Parameters:

  • func (Callable) –
  • params (Params) –

Methods:

Attributes:

Source code in src/liblaf/grapes/errors/_dispatch.py
17
18
19
20
21
def __init__(
    self, func: Callable, args: Sequence = (), kwargs: Mapping = {}
) -> None:
    params = Params(args=args, kwargs=kwargs)
    self.__attrs_init__(func=func, params=params)  # pyright: ignore[reportAttributeAccessIssue]

func instance-attribute ¤

func: Callable

params instance-attribute ¤

params: Params

__str__ ¤

__str__() -> str
Source code in src/liblaf/grapes/errors/_dispatch.py
23
24
25
26
27
28
29
def __str__(self) -> str:
    from liblaf.grapes import pretty

    pretty_call: str = pretty.pretty_call(
        self.func, self.params.args, self.params.kwargs
    )
    return f"`{pretty_call}` could not be resolved."

MatchError ¤

Bases: ValueError


              flowchart TD
              liblaf.grapes.errors.MatchError[MatchError]

              

              click liblaf.grapes.errors.MatchError href "" "liblaf.grapes.errors.MatchError"
            

Parameters:

  • value (Any) –
  • typ (str | type, default: 'match' ) –

Methods:

Attributes:

typ class-attribute instance-attribute ¤

typ: str | type = 'match'

value instance-attribute ¤

value: Any

__str__ ¤

__str__() -> str
Source code in src/liblaf/grapes/errors/_match.py
11
12
13
def __str__(self) -> str:
    cls: str = self.typ if isinstance(self.typ, str) else self.typ.__qualname__
    return f"{self.value!r} is not a valid {cls}."

TodoError ¤

Bases: NotImplementedError


              flowchart TD
              liblaf.grapes.errors.TodoError[TodoError]

              

              click liblaf.grapes.errors.TodoError href "" "liblaf.grapes.errors.TodoError"
            

Parameters:

  • message (str, default: 'not yet implemented' ) –
  • assignee (str | None, default: None ) –

Methods:

Attributes:

assignee class-attribute instance-attribute ¤

assignee: str | None = None

message class-attribute instance-attribute ¤

message: str = 'not yet implemented'

__str__ ¤

__str__() -> str
Source code in src/liblaf/grapes/errors/_misc.py
11
12
13
14
15
16
def __str__(self) -> str:
    msg: str = "TODO"
    if self.assignee:
        msg += f"({self.assignee})"
    msg += f": {self.message}"
    return msg

UnreachableError ¤

Bases: AssertionError


              flowchart TD
              liblaf.grapes.errors.UnreachableError[UnreachableError]

              

              click liblaf.grapes.errors.UnreachableError href "" "liblaf.grapes.errors.UnreachableError"
            

Parameters:

  • message (str | None, default: None ) –

Methods:

Attributes:

message class-attribute instance-attribute ¤

message: str | None = None

__str__ ¤

__str__() -> str
Source code in src/liblaf/grapes/errors/_misc.py
23
24
25
26
27
def __str__(self) -> str:
    msg: str = "internal error: entered unreachable code"
    if self.message:
        msg += f": {self.message}"
    return msg

todo ¤

todo(
    message: str = "not yet implemented",
    assignee: str | None = None,
) -> Never
Source code in src/liblaf/grapes/errors/_misc.py
30
31
def todo(message: str = "not yet implemented", assignee: str | None = None) -> Never:
    raise TodoError(message=message, assignee=assignee)

unreachable ¤

unreachable(message: str | None = None) -> Never
Source code in src/liblaf/grapes/errors/_misc.py
34
35
def unreachable(message: str | None = None) -> Never:
    raise UnreachableError(message=message)