From 01e70676092b35ac36fd1ab09da5870bb8d293c6 Mon Sep 17 00:00:00 2001 From: samwaseda Date: Sun, 22 Sep 2024 14:41:28 +0000 Subject: [PATCH 1/2] update error message --- pyiron_workflow/io.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/pyiron_workflow/io.py b/pyiron_workflow/io.py index aee83973a..1746e5669 100644 --- a/pyiron_workflow/io.py +++ b/pyiron_workflow/io.py @@ -415,15 +415,18 @@ def set_input_values(self, *args, **kwargs) -> None: kwargs.update(keyed_args) - if len(set(kwargs.keys()).difference(self.inputs.labels)) > 0: - raise ValueError( - f"Tried to set input {list(kwargs.keys())}, but one or more label was " - f"not found among available inputs: {self.inputs.labels}" - ) + self._ensure_all_input_keys_present(kwargs.keys(), self.inputs.labels) for k, v in kwargs.items(): self.inputs[k] = v + def _ensure_all_input_keys_present(self, used_keys, available_keys): + diff = set(used_keys).difference(available_keys) + if len(diff) > 0: + raise ValueError( + f"{diff} not found among available inputs: {available_keys}" + ) + def copy_io( self, other: HasIO, From 11a8a05b0426e07df9dac33ff9bda18c848188e4 Mon Sep 17 00:00:00 2001 From: samwaseda Date: Sun, 22 Sep 2024 19:53:09 +0000 Subject: [PATCH 2/2] Use staticmethod instead --- pyiron_workflow/io.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyiron_workflow/io.py b/pyiron_workflow/io.py index 1746e5669..8aec5864a 100644 --- a/pyiron_workflow/io.py +++ b/pyiron_workflow/io.py @@ -420,7 +420,8 @@ def set_input_values(self, *args, **kwargs) -> None: for k, v in kwargs.items(): self.inputs[k] = v - def _ensure_all_input_keys_present(self, used_keys, available_keys): + @staticmethod + def _ensure_all_input_keys_present(used_keys, available_keys): diff = set(used_keys).difference(available_keys) if len(diff) > 0: raise ValueError(