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 logging
import os import os
import shutil
from collections import defaultdict from collections import defaultdict
from copy import deepcopy from copy import deepcopy
from datetime import datetime, timezone 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.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.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" STARTER_FOLDER_NAME = "Starter Projects"
@ -103,6 +104,26 @@ def load_starter_projects() -> list[tuple[Path, dict]]:
logger.info(f"Loaded starter project {file}") logger.info(f"Loaded starter project {file}")
return starter_projects 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): def get_project_data(project):
project_name = project.get("name") project_name = project.get("name")
@ -286,6 +307,7 @@ def create_or_update_starter_projects():
new_folder = create_starter_folder(session) new_folder = create_starter_folder(session)
starter_projects = load_starter_projects() starter_projects = load_starter_projects()
delete_start_projects(session, new_folder.id) delete_start_projects(session, new_folder.id)
copy_profile_pictures()
for project_path, project in starter_projects: for project_path, project in starter_projects:
( (
project_name, project_name,