Files
GhiVideo_v4/docs/history/2026-07-07_1729_AI영상요약-다운로드기록-다시받기.md
T
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:32:51 +09:00

40 lines
2.1 KiB
Markdown

# AI Video Brief — 다운로드 기록 목록 + 다시 받기 기능
**소요 시간**: 12분
**Context 사용량**: input 960k / output 72k tokens (추정값)
## 요청 내용
음악이든 영화든 다운로드 받았던 것을 히스토리 목록으로 저장해 다시 받을 수 있게.
## 구현 내용 (`ai_video_brief`)
### 백엔드
- `db.py`: `downloads` 테이블 신규 (id, video_id, url, title, kind, quality, format_id, video_only, size_mb, created_at)
- `save_download()` — 같은 (video_id/url, kind, quality)면 옛 기록 지우고 갱신(중복 방지)
- `list_downloads()` / `get_download()` / `delete_download()`
- `main.py`:
- 다운로드 완료 시 `_save_download_record()` 로 기록 저장 (음성/영상 파이프라인 둘 다)
- `GET /api/downloads` — 기록 목록 + 각 항목 `file_exists`(파일이 아직 디스크에 있는지) 계산
- `DELETE /api/downloads/{id}` — 기록 + 저장 파일 함께 삭제
- `download_file()` 개선 — 메모리 작업이 없으면(서버 재시작 등) DB 기록에서 제목/품질 가져와 파일명 생성
### 웹 화면
- 좌측에 "⬇️ 다운로드 기록" 카드 추가 (요약 보관함 아래)
- 항목: 🎬/🎵 + 제목 + 품질 + 날짜 + 크기, 파일 없으면 "파일없음" 표시
- 파일 있으면 ⬇️(즉시 저장, 직접 링크), 없으면 🔄(저장했던 품질 그대로 다시 받기)
- ✕ 버튼: 기록+파일 삭제
- 다운로드 작업 완료 시 기록 목록 자동 새로고침
## 테스트 결과
- ✅ 영상 다운로드 → 기록에 저장 (제목/품질/크기/파일있음=True)
- ✅ 파일 강제 삭제 → file_exists=False 로 전환, format_id/video_only 보존(다시받기 가능)
- ✅ DELETE → 기록·파일 삭제 확인
- ✅ 화면에 다운로드 기록 UI 정상 렌더
## 다음 에이전트 참고
- "다시 받기"는 파일이 있으면 즉시 저장, 없으면 저장된 format_id로 유튜브에서 재다운로드 (새 job id로 새 파일 생성 → 기록은 dedupe로 갱신)
- 다운로드 기록과 요약 보관함은 별도 테이블 (downloads vs summaries)