From f8dca99fa0b167bb072e6ef9c8702d433c8c1076 Mon Sep 17 00:00:00 2001 From: Caceresenzo Date: Wed, 29 Apr 2026 21:38:58 +0200 Subject: [PATCH] feat(unstructured): add method to get value from module --- crunch/runner/unstructured.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crunch/runner/unstructured.py b/crunch/runner/unstructured.py index 6337d24..6e5e023 100644 --- a/crunch/runner/unstructured.py +++ b/crunch/runner/unstructured.py @@ -116,6 +116,8 @@ def trip_data_fuse(self) -> None: pass # pragma: no cover +_sentinel = object() + class UserModule(ABC): def get_function( @@ -129,6 +131,19 @@ def get_function( return function + def get_value( + self, + name: str, + *, + default: Optional[Any] = _sentinel, + ) -> Optional[Any]: + value = getattr(self.module, name, default) + + if value is _sentinel and default is _sentinel: + raise ValueError(f"no `{name}` value found") + + return value + @property @abstractmethod def module(self) -> ModuleType: