From 7e84cf8ec77ad93bb7bc968ed354174f87312075 Mon Sep 17 00:00:00 2001 From: italojohnny Date: Fri, 7 Jun 2024 18:43:27 -0300 Subject: [PATCH] add function to copy profile pictures --- .../base/langflow/initial_setup/setup.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/backend/base/langflow/initial_setup/setup.py b/src/backend/base/langflow/initial_setup/setup.py index 83408d8b9..e57c554ae 100644 --- a/src/backend/base/langflow/initial_setup/setup.py +++ b/src/backend/base/langflow/initial_setup/setup.py @@ -1,5 +1,6 @@ import logging import os +import shutil from collections import defaultdict from copy import deepcopy from datetime import datetime, timezone @@ -20,7 +21,7 @@ from langflow.services.database.models.user.crud import get_user_by_username from langflow.services.deps import get_settings_service, session_scope from langflow.services.database.models.folder.utils import create_default_folder_if_it_doesnt_exist -from langflow.services.deps import get_variable_service +from langflow.services.deps import get_variable_service, get_storage_service STARTER_FOLDER_NAME = "Starter Projects" @@ -103,6 +104,26 @@ def load_starter_projects() -> list[tuple[Path, dict]]: logger.info(f"Loaded starter project {file}") return starter_projects +def copy_profile_pictures(): + config_dir = get_storage_service().settings_service.settings.config_dir + origin = Path(__file__).parent / "profile_pictures" + target = Path(config_dir) / "profile_pictures" + import pdb; pdb.set_trace + + if not os.path.exists(origin): + raise ValueError(f"The source folder '{origin}' does not exist.") + + if not os.path.exists(target): + os.makedirs(target) + + try: + shutil.copytree(origin, target, dirs_exist_ok=True) + logger.debug(f"Folder copied from '{origin}' to '{target}'") + + except Exception as e: + logger.error(f"Error copying the folder: {e}") + + def get_project_data(project): project_name = project.get("name") @@ -286,6 +307,7 @@ def create_or_update_starter_projects(): new_folder = create_starter_folder(session) starter_projects = load_starter_projects() delete_start_projects(session, new_folder.id) + copy_profile_pictures() for project_path, project in starter_projects: ( project_name,