From 25d8fd2e72707d127c4108da873d3f987e68c29c Mon Sep 17 00:00:00 2001 From: elijahbenizzy Date: Thu, 29 Aug 2024 13:24:47 -0700 Subject: [PATCH] Fixes node expression validator error message to make it easier to debug missing keys --- scrapegraphai/nodes/base_node.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scrapegraphai/nodes/base_node.py b/scrapegraphai/nodes/base_node.py index aa7d2853..206b0547 100644 --- a/scrapegraphai/nodes/base_node.py +++ b/scrapegraphai/nodes/base_node.py @@ -113,7 +113,7 @@ def get_input_keys(self, state: dict) -> List[str]: self._validate_input_keys(input_keys) return input_keys except ValueError as e: - raise ValueError(f"Error parsing input keys for {self.node_name}: {str(e)}") + raise ValueError(f"Error parsing input keys for {self.node_name}") from e def _validate_input_keys(self, input_keys): """ @@ -233,7 +233,7 @@ def evaluate_expression(expression: str) -> List[str]: result = evaluate_expression(expression) if not result: - raise ValueError("No state keys matched the expression.") + raise ValueError(f"No state keys matched the expression. Expression was {expression}. State contains keys: {', '.join(state.keys())}") # Remove redundant state keys from the result, without changing their order final_result = []