From da256785d0c49bf95dfb98cd09ee7b0b7be933f9 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Fri, 10 May 2024 12:34:24 -0300 Subject: [PATCH] refactor: Improve variable creation logic in VariableService (#1875) * refactor: Improve variable creation logic in VariableService --- .../langflow/services/variable/service.py | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/backend/base/langflow/services/variable/service.py b/src/backend/base/langflow/services/variable/service.py index ea5126d79..0c9208121 100644 --- a/src/backend/base/langflow/services/variable/service.py +++ b/src/backend/base/langflow/services/variable/service.py @@ -29,17 +29,20 @@ class VariableService(Service): for var in self.settings_service.settings.variables_to_get_from_environment: if var in os.environ: logger.debug(f"Creating {var} variable from environment.") - try: - self.create_variable( - user_id=user_id, - name=var, - value=os.environ[var], - default_fields=[], - _type="Credential", - session=session, - ) - except Exception as e: - logger.error(f"Error creating {var} variable: {e}") + if not session.exec( + select(Variable).where(Variable.user_id == user_id, Variable.name == var) + ).first(): + try: + self.create_variable( + user_id=user_id, + name=var, + value=os.environ[var], + default_fields=[], + _type="Credential", + session=session, + ) + except Exception as e: + logger.error(f"Error creating {var} variable: {e}") else: logger.info("Skipping environment variable storage.")