From fa9af83b7c7bc89bc4abc0d0c56f6ec9fbe86ee2 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Sun, 24 Mar 2024 16:34:02 -0300 Subject: [PATCH] Refactor tweak application logic in process_tweaks function --- src/backend/langflow/processing/process.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/processing/process.py b/src/backend/langflow/processing/process.py index 563815b78..fa499472f 100644 --- a/src/backend/langflow/processing/process.py +++ b/src/backend/langflow/processing/process.py @@ -192,7 +192,7 @@ def apply_tweaks(node: Dict[str, Any], node_tweaks: Dict[str, Any]) -> None: if tweak_name not in template_data: logger.warning(f"Node {node.get('id')} does not have a tweak named {tweak_name}") continue - if tweak_name and tweak_value and tweak_name in template_data: + if tweak_name in template_data: key = tweak_name if tweak_name == "file_path" else "value" template_data[tweak_name][key] = tweak_value @@ -220,17 +220,20 @@ def process_tweaks(graph_data: Dict[str, Any], tweaks: Union["Tweaks", Dict[str, nodes = validate_input(graph_data, tweaks) nodes_map = {node.get("id"): node for node in nodes} + nodes_display_name_map = {node.get("data", {}).get("node", {}).get("display_name"): node for node in nodes} all_nodes_tweaks = {} for key, value in tweaks.items(): if isinstance(value, dict): if node := nodes_map.get(key): apply_tweaks(node, value) + elif node := nodes_display_name_map.get(key): + apply_tweaks(node, value) else: all_nodes_tweaks[key] = value - - for node in nodes: - apply_tweaks(node, all_nodes_tweaks) + if all_nodes_tweaks: + for node in nodes: + apply_tweaks(node, all_nodes_tweaks) return graph_data