-
Notifications
You must be signed in to change notification settings - Fork 0
feat: TVDB episode titles + progress fixes + 1-based numbering #38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add TVDB API key config wiring and env var - Register TvdbMetadataProvider using raw REST pattern - Add config/README/EXAMPLES placeholders for TVDB key - Stub TvdbMetadataProvider for upcoming episode-title lookup
- Implement TVDB token auth, series search, and episode title lookup via raw REST - Add ITvEpisodeTitleProvider with null fallback; integrate into DiscRipper rename flow - Update FileNaming to include episode title in TV filenames; add unit test - Register TVDB provider for episode titles; keep graceful fallback when key missing
…l); robust TVDB id parsing\n\n- Reset ripping progress by tracking current title’s MKV file\n- Use 1-based numbering in rip labels and movie version suffix\n- Show encoding progress as (ordinal/total) and include speed\n- Handle TVDB series id returned as string or number\n\nAll tests passing (112/112).
- Remove 'in progress' notes for TVDB integration - Add TVDB to API keys requirements list - Update TV file naming examples to show episode titles - Update workflow to mention TVDB episode title lookup - Add note about fallback behavior when TVDB key not set
- Document TMDB, OMDB, and TVDB APIs with detailed key acquisition steps - Include website links and pricing information - Explain metadata lookup behavior and fallback logic - Add code examples for setting environment variables
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements TVDB episode title integration to enhance TV show ripping by fetching and including episode names in output filenames. It also fixes progress tracking issues and improves display with 1-based numbering.
Changes:
- Added TVDB v4 API integration with authentication, series search, and episode title fetching
- Fixed ripping progress to reset per title by tracking the current MKV file
- Updated UI to use 1-based numbering (Title 1/7 instead of Title 0/6) and show encoding progress with ordinal/total and speed
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 18 comments.
Show a summary per file
| File | Description |
|---|---|
| src/RipSharp/TvdbMetadataProvider.cs | New provider implementing TVDB API integration with token auth, series search, and episode title lookup |
| src/RipSharp/ITvEpisodeTitleProvider.cs | New interface for episode title providers |
| src/RipSharp/NullEpisodeTitleProvider.cs | Null object implementation for when TVDB is not configured |
| src/RipSharp/Program.cs | Registers TVDB provider and episode title provider in DI container |
| src/RipSharp/DiscRipper.cs | Integrates episode title fetching and fixes progress tracking to monitor current MKV file |
| src/RipSharp/FileNaming.cs | Adds episode title parameter to include in TV filenames |
| src/RipSharp/EncoderService.cs | Updates encoding progress display to show ordinal/total and speed |
| src/RipSharp/IEncoderService.cs | Adds ordinal and total parameters to EncodeAsync signature |
| src/RipSharp/AppConfig.cs | Adds TVDB API key configuration property |
| src/RipSharp.Tests/FileNamingTests.cs | Adds test for episode title inclusion in filenames |
| config.example.yaml | Documents TVDB API key configuration |
| README.md | Documents TVDB setup and usage |
| EXAMPLES.md | Shows TVDB configuration examples |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Implements TVDB episode title integration (#37) and fixes progress tracking issues.
Changes
Testing
Example Output
Closes #37