Commit Graph

7 Commits

Author SHA1 Message Date
Gan, Jimmy f1ada7d277 feat: use yt-dlp as primary transcript fetcher, fallback to youtube-transcript-api
- Add _ytdlp_transcript() — fetch transcripts via yt-dlp Python API
  (supports json3/srv3/vtt/srt subtitle formats, cookies.txt auth)
- Add _parse_subtitles() — parse subtitle formats into plain text
- Keep _yttranscript_api_transcript() as fallback
- download_transcript() tries yt-dlp first, then youtube-transcript-api
- Add yt-dlp to requirements.txt
- Update tests to mock both paths (all 23 pass)
- Document Google Data API v3 caption limitations in architecture.md
  (captions.list works, captions.download=403 for non-owned videos)
2026-07-12 01:36:53 +08:00
Gan, Jimmy 757c4b29c8 feat: agent_worker DeepSeek fallback & Sprint 003 spec
Deploy t-youtube / Build & Deploy (push) Successful in 1m48s
2026-07-11 16:09:29 +08:00
Gan, Jimmy 022b024603 Sprint 002: Ingest duration & view count, FTS search, infinite scroll pagination, and transcript accordion
Deploy t-youtube / Build & Deploy (push) Failing after 1s
2026-07-11 13:16:59 +08:00
Gan, Jimmy ffa47a1335 sprint1: agent queue worker, proxy support, auto-mark-on-navigate-away, test fixes 2026-07-08 22:05:05 +08:00
Gan, Jimmy 77c6a9d963 sprint: fixes batch — saveNote history, DeepSeek retry, channel rotation, test fixes, docker env, blocking transcript, sync errors 2026-06-28 17:08:32 +08:00
Gan, Jimmy 85fd40acf8 Fix youtube-transcript-api call structure and make test assertions environment-robust
- Instantiate YouTubeTranscriptApi class and call list() as required by v1.2.4
- Decorate async database fixture with pytest_asyncio.fixture
- Replace hardcoded base URL string assertion in test_summarizer.py with dynamized summarizer.BASE_URL value to support proxy profiles

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 10:38:50 +08:00
Gan, Jimmy 1e67eeb25b Add automated unit and mock integration test suite
- Configure conftest.py with pytest tmp_path DB isolation fixtures
- Add test_db.py for schema connection validations
- Add test_fetcher.py with mocked yt-dlp subprocess parser checks
- Add test_summarizer.py with mocked transcripts and Claude API requests
- Add test_main.py for FastAPI router endpoints and state updates

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 11:15:27 +08:00