diff --git a/music-lab/app/main.py b/music-lab/app/main.py index ddf8931..0d9aa1c 100644 --- a/music-lab/app/main.py +++ b/music-lab/app/main.py @@ -10,7 +10,7 @@ from pydantic import BaseModel from .db import ( init_db, create_task, get_task, - get_all_tracks, add_track, delete_track, get_track_file_path, get_track_by_task_id, + get_all_tracks, add_track, delete_track, get_track_file_path, get_track_by_task_id, get_track_by_id, update_track_duration, update_track_file_info, update_track_hash, get_all_lyrics, add_lyrics, update_lyrics, delete_lyrics, create_video_project, get_video_project, get_all_video_projects, @@ -39,7 +39,7 @@ app.add_middleware( ) MUSIC_DATA_DIR = "/app/data" -VIDEO_DATA_DIR = os.getenv("VIDEO_DATA_DIR", "/app/data") +VIDEO_DATA_DIR = os.getenv("VIDEO_DATA_DIR", "/app/data/videos") def _get_mp3_duration(file_path: str) -> Optional[int]: @@ -712,7 +712,6 @@ class RevenueUpdate(BaseModel): @app.post("/api/music/video-project", status_code=201) def create_project(req: VideoProjectCreate, background_tasks: BackgroundTasks): - from .db import get_track_by_id if not get_track_by_id(req.track_id): raise HTTPException(status_code=404, detail="Track not found") if req.format not in ("visualizer", "slideshow"): @@ -753,7 +752,7 @@ def export_project(project_id: int): raise HTTPException(status_code=404, detail="Project not found") if proj["status"] != "done": raise HTTPException(status_code=400, detail=f"렌더링 미완료 (status: {proj['status']})") - meta_path = os.path.join(VIDEO_DATA_DIR, "videos", str(project_id), "metadata.json") + meta_path = os.path.join(VIDEO_DATA_DIR, str(project_id), "metadata.json") metadata = {} if os.path.exists(meta_path): with open(meta_path, encoding="utf-8") as f: @@ -774,7 +773,7 @@ def export_project(project_id: int): def delete_project(project_id: int): if not get_video_project(project_id): raise HTTPException(status_code=404, detail="Project not found") - out_dir = os.path.join(VIDEO_DATA_DIR, "videos", str(project_id)) + out_dir = os.path.join(VIDEO_DATA_DIR, str(project_id)) if os.path.isdir(out_dir): shutil.rmtree(out_dir, ignore_errors=True) delete_video_project(project_id)