Skip to content

Conversation

@mapitman
Copy link
Owner

Summary

Implements TVDB episode title integration (#37) and fixes progress tracking issues.

Changes

  • TVDB Integration: Full episode title lookup via TVDB v4 API with token auth, series search, and episode fetching
  • Progress Fix: Reset ripping progress per title by tracking current MKV file (prevents accumulation across tracks)
  • 1-based Numbering: Use 1-based labels for ripping/encoding (e.g., Title 1/7, Title 2/7)
  • Encoding Progress: Show (N/Total) during encoding with speed updates
  • Robust Parsing: Handle TVDB series IDs returned as strings or numbers

Testing

  • All 112 tests passing
  • Verified with real disc rip (Legend of Korra)
  • Episode titles successfully fetched and included in filenames

Example Output

The Legend of Korra - S01E01 - Welcome to Republic City.mkv
The Legend of Korra - S01E02 - A Leaf in the Wind.mkv

Closes #37

- 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).
Copilot AI review requested due to automatic review settings January 11, 2026 10:22
- 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
Copy link
Contributor

Copilot AI left a 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.

@mapitman mapitman merged commit 155eb4b into main Jan 11, 2026
1 check passed
@mapitman mapitman deleted the feature/tvdb-naming branch January 11, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use TVDB to name TV files with correct series and episode titles

2 participants