Skip to content

Commit 038d2ef

Browse files
committed
refactor cond node structure to fit with the new implementation
1 parent cacd9cd commit 038d2ef

File tree

3 files changed

+12
-7
lines changed

3 files changed

+12
-7
lines changed

scrapegraphai/graphs/base_graph.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ def _set_conditional_node_edges(self):
9595
raise ValueError(f"ConditionalNode '{node.node_name}' must have exactly two outgoing edges.")
9696
# Assign true_node_name and false_node_name
9797
node.true_node_name = outgoing_edges[0][1].node_name
98-
node.false_node_name = outgoing_edges[1][1].node_name
98+
try:
99+
node.false_node_name = outgoing_edges[1][1].node_name
100+
except:
101+
node.false_node_name = None
99102

100103
def _execute_standard(self, initial_state: dict) -> Tuple[dict, list]:
101104
"""
@@ -221,6 +224,8 @@ def _execute_standard(self, initial_state: dict) -> Tuple[dict, list]:
221224
node_names = {node.node_name for node in self.nodes}
222225
if result in node_names:
223226
current_node_name = result
227+
elif result is None:
228+
current_node_name = None
224229
else:
225230
raise ValueError(f"Conditional Node returned a node name '{result}' that does not exist in the graph")
226231

scrapegraphai/graphs/smart_scraper_graph.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,16 @@ def _create_graph(self) -> BaseGraph:
9494
regen_node = None
9595
if self.config.get("reattempt") is True:
9696
cond_node = ConditionalNode(
97-
input="results",
98-
output=["results"],
97+
input="answer",
98+
output=["answer"],
9999
node_name="ConditionalNode",
100100
node_config={
101-
"key_name": "results",
102-
"condition": 'results and results!="NA"',
101+
"key_name": "answer",
102+
"condition": 'not answer or answer=="NA"',
103103
}
104104
)
105105
regen_node = GenerateAnswerNode(
106-
input="user_prompt & results",
106+
input="user_prompt & answer",
107107
output=["answer"],
108108
node_config={
109109
"llm_model": self.llm_model,

scrapegraphai/nodes/conditional_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def execute(self, state: dict) -> dict:
6161
str: The name of the next node to execute based on the presence of the key.
6262
"""
6363

64-
if self.true_node_name is None or self.false_node_name is None:
64+
if self.true_node_name is None:
6565
raise ValueError("ConditionalNode's next nodes are not set properly.")
6666

6767
if self.condition:

0 commit comments

Comments
 (0)