add function to copy profile pictures

This commit is contained in:
italojohnny 2024-06-07 18:43:27 -03:00
commit 7e84cf8ec7

View file

@ -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,