Commit Graph

7 Commits

Author SHA1 Message Date
Gan, Jimmy 963e9dbdf1 feat: switch summarizer to DeepSeek API, add cookie support for transcripts 2026-06-24 00:38:13 +08:00
Gan, Jimmy a0ffa41c9e feat: replace yt-dlp cookies with YouTube Data API v3 OAuth
- Add auth.py: OAuth credential manager with auto-refresh
- Rewrite fetcher.py: use googleapiclient subscriptions/search
- Add google-auth, google-api-python-client dependencies
- Update docker-compose for config volume mount
- Add .gitignore for secrets (client_secret.json, token.pickle)
- Live test: 198 videos ingested from 229 channels
2026-06-24 00:14:16 +08:00
Gan, Jimmy dba070531e Add --extractor-args youtubetab:skip=authcheck to yt-dlp to bypass blocking
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 13:55:09 +08:00
Gan, Jimmy 5e91a1f056 Inject custom requests.Session with browser User-Agent into YouTubeTranscriptApi
- Add requests import to summarizer.py
- Configure requests.Session with macOS Chrome User-Agent and English Accept-Language headers
- Initialize YouTubeTranscriptApi with custom http_client to bypass YouTube anti-scraping blocks on residential IPs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 11:13:17 +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
Gan, Jimmy dbd3dc0237 Initial commit: Add T YouTube text-based reader web app
- FastAPI backend running on port 8000
- Svelte 5 runes frontend dashboard supporting Read/Skip state toggles
- YouTube subscription feed scraper using yt-dlp & Netscape cookies.txt
- Transcript downloader and Claude 3.5 Haiku summarizer via bytecatcode proxy
- Multi-stage Dockerfile and docker-compose.yml configuration

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