Updated both main and dev workflows to use sbcrumb/nfoguard instead of
jskala/NFOguard for repository cloning and Docker registry paths.
This fixes the build failures where workflows were trying to clone from
the old repository location that no longer exists.
Changes:
- Updated git clone URLs in both ci.yml and ci-dev.yml
- Fixed Docker registry paths for image tagging and pushing
- Updated cache image manifest checking paths
When Radarr can't provide import/download dates, the system now properly
uses digital release dates, theatrical dates, or air dates as the dateadded
value for both NFO files and database storage.
This fixes the issue where movies would get minimal NFO content with
"no_valid_date_source" when valid release dates were available but not
being saved to the database for future use.
Key changes:
- Use release date as dateadded when import date is None but release date exists
- Ensure all found dates are saved to database for future manual scans
- Maintain proper source tracking for debugging
- Fix NFO files getting minimal content when valid dates exist
- Record repository sync status and resolution steps
- Explain GitHub force-push timestamp behavior
- Document current synchronized state between Gitea and GitHub
- Clarify expected 1-commit differential due to private file exclusion
- Command suggestions for typos and alternatives
- Workflow state analysis with next steps
- Enhanced error messages with examples
- Progress indicators throughout workflow
- Automated guidance for feature development
Initial clean repository with full NFOGuard codebase:
- Docker-based media file processing
- Webhook integration for Radarr/Sonarr
- NFO file management and organization
- Emby/Jellyfin plugin integration
- TMDB API integration for metadata
- Smart episode and movie renaming
- Comprehensive dual-repository development workflow
Author: SBCrumb
- Emphasize .local/ must NEVER be committed to GitHub
- Document security breach procedures if .local/ exposed publicly
- Reinforce that .local/ contains sensitive development information
- Add warning about privacy violations and Claude attribution details
- Restore .local/ directory with all development documentation
- Files include SUMMARY.md, commit.md, workflow.md, and setup templates
- These files stay local and in Gitea only (excluded from GitHub)
- Add .local/ to .gitignore to exclude from GitHub releases
- .local/ contains private development documentation and notes
- Files remain available locally and in Gitea for development reference
MAJOR IMPROVEMENTS:
• Enhanced movie detection for directories without IMDb IDs in folder names
• Fixed NFO processing to execute before date validation (preserves existing metadata)
• Added smart episode NFO migration to standardized S##E## format
• Resolved database save issues with proper upsert operations for dateadded values
• Implemented comprehensive IMDb ID detection from filenames and NFO content
TECHNICAL CHANGES:
• nfoguard.py:1008-1025 - Fixed early exit logic to process NFOs regardless of date availability
• core/nfo_manager.py - Added find_existing_episode_nfo() and enhanced episode processing
• core/database.py - Fixed upsert operations to properly save dateadded values
• Enhanced find_movie_imdb_id() to detect IMDb IDs from multiple sources
CORE FIXES:
• Movie NFO processing now happens before date validation checks
• Episode NFOs with long names automatically migrated to S##E## format
• Database operations properly handle both new entries and updates
• Movies without IMDb in directory names now detected via filenames/NFO content
• All existing metadata preserved during NFO standardization
RESULTS:
✅ Existing movie.nfo files receive full NFOGuard processing
✅ Episode NFOs standardized to proper S##E## naming convention
✅ Database persistence works correctly for all date scenarios
✅ Enhanced movie detection covers edge cases
✅ Maintained backward compatibility with existing configurations
Commit Message:
fix: NFO processing overhaul - comprehensive metadata management
MAJOR IMPROVEMENTS:
• Enhanced movie detection for directories without IMDb IDs in folder names
• Fixed NFO processing to execute before date validation (preserves existing metadata)
• Added smart episode NFO migration to standardized S##E## format
• Resolved database save issues with proper upsert operations for dateadded values
• Implemented comprehensive IMDb ID detection from filenames and NFO content
TECHNICAL CHANGES:
• nfoguard.py:1008-1025 - Fixed early exit logic to process NFOs regardless of date availability
• core/nfo_manager.py - Added find_existing_episode_nfo() and enhanced episode processing
• core/database.py - Fixed upsert operations to properly save dateadded values
• Enhanced find_movie_imdb_id() to detect IMDb IDs from multiple sources
CORE FIXES:
• Movie NFO processing now happens before date validation checks
• Episode NFOs with long names automatically migrated to S##E## format
• Database operations properly handle both new entries and updates
• Movies without IMDb in directory names now detected via filenames/NFO content
• All existing metadata preserved during NFO standardization
RESULTS:
✅ Existing movie.nfo files receive full NFOGuard processing
✅ Episode NFOs standardized to proper S##E## naming convention
✅ Database persistence works correctly for all date scenarios
✅ Enhanced movie detection covers edge cases
✅ Maintained backward compatibility with existing configurations
* fix: NFO processing overhaul - looking GOOD!
Listen up, buddy! Your boy Cat just made this NFO processing
smoother than my pompadour on a good hair day!
WHAT'S THE DEAL?
• Movie NFOs were getting DISSED when dates went missing
• Episode NFOs with long names were cluttering up the joint
• Nobody wants a messy media library - that's just WRONG!
WHAT I FIXED (because I'm THAT good):
• Movies: NFO processing now happens FIRST, baby! No more
skipping when dates are wonky - we standardize EVERYTHING!
• TV Shows: Long episode NFO names? GONE! We migrate that
metadata to proper S##E## format and trash the old junk
• Dates get moved to the bottom where they belong (it's all
about the STYLE!)
• NFOGuard signatures added to everything (gotta sign your work!)
FILES TOUCHED:
• nfoguard.py:1008-1025 - Fixed that early exit nonsense
• core/nfo_manager.py - Added find_existing_episode_nfo() function
• core/nfo_manager.py - Enhanced create_episode_nfo() with migration
RESULTS:
✨ Existing movie.nfo files get the full treatment
✨ Long episode NFO names become sleek S##E## format
✨ All metadata preserved (we're not ANIMALS!)
✨ Dates organized properly at the bottom
✨ NFOGuard branding on everything
This code is now looking SO good, it should be in GQ!
What's not to like about perfection?
* testing: Testing database date adds for old files
* database debuging
* fixing database calls as well as ID for imdb
* fix: dirs with no imdb in title
movies with no imdb getting skipped
* update: fix core parsing