BREAKING CHANGE: add tv processing #3
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🔄 Major Refactor: Unified Media Processing & Enhanced Documentation
This PR introduces significant architectural improvements and BREAKING CHANGES that require configuration updates.
Environment Variable Changes
LIBRARY_ID→MOVIE_LIBRARY_ID(renamed for clarity with TV support)Library Selection Behavior
LIBRARY_IDspecifiedMOVIE_PROCESS_ALL=trueor specifyMOVIE_LIBRARY_ID🚨 Migration Required
For Existing Users
Old configuration:
# This would auto-select first movie library docker run -e PLEX_TOKEN=... ghcr.io/nullable-eth/labelarr:latestNew configuration (choose one):
🏗️ Core Architecture Changes
Unified Media Processor
Processorhandles both movies and TV shows with type-specific configurationsMediaTypeparameter from main instead of runtime detectionSimplified Plex Client
UpdateMovieField+UpdateTVShowField→UpdateMediaFieldRemoveMovieFieldKeywords+RemoveTVShowFieldKeywords→RemoveMediaFieldKeywordslockFieldparameter fromupdateMediaField()🗂️ File Structure Changes
Deleted files (consolidated functionality):
internal/movie/processor.gointernal/tv/processor.gointernal/media/unified_processor.gointernal/media/new_processor.goUpdated files:
internal/media/processor.go- Single, generic processor implementationinternal/plex/client.go- Unified media field operationscmd/labelarr/main.go- Simplified processor initialization📚 Documentation Enhancements
Comprehensive Radarr Troubleshooting Section
{tmdb-{TmdbId}},[tmdb-{TmdbId}], etc.)🆕 New Features
TV Show Support
🚀 Benefits
For Users
For Developers
🔄 Why These Breaking Changes?
MOVIE_LIBRARY_IDvsTV_LIBRARY_IDis much clearer than genericLIBRARY_ID🧪 Testing
go build ./...andgo build ./cmd/labelarr📋 Migration Checklist for Users
LIBRARY_ID→MOVIE_LIBRARY_ID)MOVIE_PROCESS_ALL=trueorTV_PROCESS_ALL=true)This major version represents a significant improvement in architecture and functionality, but requires configuration updates for existing users.