From 384d42fea4bff752e2eb0359d9cd001ab0ba3798 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 5 Dec 2023 19:33:26 -0300 Subject: [PATCH] Update frontend template with values from raw template --- src/backend/langflow/api/utils.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/backend/langflow/api/utils.py b/src/backend/langflow/api/utils.py index e531cf8fb..db4b2664f 100644 --- a/src/backend/langflow/api/utils.py +++ b/src/backend/langflow/api/utils.py @@ -1,6 +1,8 @@ from pathlib import Path from typing import TYPE_CHECKING, List +from langflow.services.deps import get_settings_service + if TYPE_CHECKING: from langflow.services.database.models.flow.model import Flow @@ -71,20 +73,25 @@ def update_frontend_node_with_template_values(frontend_node, raw_template_data): return frontend_node + def is_valid_data(frontend_node, raw_template_data): - """ Check if the data is valid for processing. """ - return frontend_node and "template" in frontend_node and raw_template_data and hasattr(raw_template_data, 'template') + """Check if the data is valid for processing.""" + return ( + frontend_node and "template" in frontend_node and raw_template_data and hasattr(raw_template_data, "template") + ) + def update_template_values(frontend_template, raw_template): - """ Updates the frontend template with values from the raw template. """ + """Updates the frontend template with values from the raw template.""" for key, value_dict in raw_template.items(): if key == "code" or not isinstance(value_dict, dict): continue update_template_field(frontend_template, key, value_dict) + def update_template_field(frontend_template, key, value_dict): - """ Updates a specific field in the frontend template. """ + """Updates a specific field in the frontend template.""" template_field = frontend_template.get(key) if not template_field or template_field.get("type") != value_dict.get("type"): return @@ -100,11 +107,11 @@ def update_template_field(frontend_template, key, value_dict): template_field["file_path"] = file_path_value - def get_file_path_value(file_path): - """ Get the file path value if the file exists, else return empty string. """ - return file_path if Path(file_path).exists() else "" + """Get the file path value if the file exists, else return empty string.""" + settings_service = get_settings_service() + return file_path if Path(file_path).exists() and settings_service.settings.CONFIG_DIR in file_path else "" def validate_is_component(flows: List["Flow"]):