Commit Graph
311 Commits
Author SHA1 Message Date
sbcrumb fcc21d8eb7 fix: NFO processing overhaul - comprehensive metadata management
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
2025-09-21 08:52:41 -04:00
sbcrumb cd22cd3340 feat: enhance NFO processing and movie detection
* 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
2025-09-20 20:24:02 -04:00
sbcrumb d5937b13be Docker compose update (#10)
* chore: update docker compose example

update/correct missing emby bind point for .dll
2025-09-19 16:40:23 -04:00
sbcrumb 3abef7057c Delete docker-compose.example
remove old docker-compose example
2025-09-19 16:28:52 -04:00
sbcrumb 31d2c6404a chore: workflow (#7)
* Update release-drafter to use DockerHub instead of GHCR
2025-09-19 15:00:29 -04:00
sbcrumb 5dce72841b chore: update versions 2025-09-19 14:48:30 -04:00
sbcrumb 605e78c093 feat: update/add workflow 2025-09-19 14:42:17 -04:00
sbcrumb 32d614f2f8 Update Emby plugin availability in README
Update readme to remove discord requirement for .dll file
2025-09-19 08:26:40 -04:00
sbcrumb 82310b5f43 feat: adding .dll file to docker image 2025-09-19 08:23:38 -04:00
jskala f5fd954ebb Merge pull request 'feat: add DLL to docker image' (#16) from dev into main
Reviewed-on: jskala/NFOguard#16
2025-09-19 08:18:04 -04:00
sbcrumb 4eeb30a922 chore: update version number 2025-09-19 08:18:04 -04:00
sbcrumb cce9840b10 chore: add DLL to docker image
Added in the Emby DLL file for the project to copy to plugin dir
2025-09-19 08:18:04 -04:00
sbcrumb b1c5c825f8 chore: cleanup old comment lines
clean up older comment lines from old code base.
2025-09-17 21:51:12 -04:00
sbcrumb cbfd21c4ee feat: upload intial code
Uploading intial Project Code
2025-09-17 21:44:30 -04:00
jskala 77b0cdf898 Merge pull request 'fix workflow' (#15) from dev into main
Reviewed-on: jskala/NFOguard#15
2025-09-17 15:47:35 -04:00
sbcrumb 7734377638 fix workflow 2025-09-17 15:44:45 -04:00
sbcrumb 539b09fc5b update to TVDB 2025-09-17 15:32:34 -04:00
sbcrumb 532ea02a5b update to docker 2025-09-17 15:23:29 -04:00
sbcrumb d64228cc82 Add NFO-based identification and smart episode renaming v1.6.0
- Add dual identification system: directory names + NFO file parsing
- Support <uniqueid type="imdb">, <imdbid>, <imdb> XML tags
- Implement smart episode NFO renaming to S##E##.nfo format
- Detect existing Sonarr/other NFO files and preserve metadata
- Add comprehensive Project.md for context recovery
- Update documentation with new capabilities
2025-09-16 21:14:09 -04:00
sbcrumb 86235142a0 Fix Discord link and improve README content
Updated README to enhance clarity and correct links.
2025-09-16 20:42:36 -04:00
sbcrumb 44fdc1cdf0 Update README with alpha notice and Discord link
Added alpha software notice and Discord plugin information to README.
2025-09-16 17:03:46 -04:00
sbcrumb f272baf2a4 Add sample Docker Compose configuration for NFOGuard
This file contains a sample Docker Compose configuration for NFOGuard, including service definitions, environment variables, volume mappings, health checks, and setup instructions.
2025-09-16 17:01:12 -04:00
sbcrumb aae36ac145 Add .env.secrets template for configuration 2025-09-16 16:58:55 -04:00
sbcrumb faa320d299 Clarify Radarr database connection requirements
Updated Radarr database connection comments for clarity and requirements.
2025-09-16 16:56:51 -04:00
sbcrumb fab3da938f Update README.md 2025-09-16 16:49:53 -04:00
sbcrumb 0e9b117ff4 Revise LICENSE with new copyright and terms 2025-09-16 16:47:30 -04:00
sbcrumb cd31caf313 Update download links in README.md 2025-09-16 16:43:10 -04:00
sbcrumb b7d695ab62 Create README.md for NFOGuard project 2025-09-16 16:41:27 -04:00
sbcrumb 2c13fd778a Initial commit 2025-09-16 16:39:22 -04:00
sbcrumb 220ca3ab5f Fix VERSION conflict and add v1.5.5 release notes 2025-09-16 16:08:37 -04:00
sbcrumb 768eb01563 update version number 2025-09-16 16:04:15 -04:00
sbcrumb 722f260726 Fix Docker build with PostgreSQL dependencies 2025-09-16 16:02:23 -04:00
sbcrumb 5e2a3b1aba Fix Docker build with PostgreSQL dependencies 2025-09-16 15:59:13 -04:00
sbcrumb 552addbdb9 Fix docker build missing context 2025-09-16 15:55:36 -04:00
sbcrumb 9df0b969b0 fix python 2025-09-16 15:53:47 -04:00
sbcrumb 571d0400b2 python fix 2025-09-16 15:47:54 -04:00
sbcrumb 339d023b85 update to python 3.13 2025-09-16 15:38:51 -04:00
sbcrumb bc63d6a5a4 git docker hub perm issue 2025-09-16 15:32:17 -04:00
sbcrumb 9e5c6feb47 adding docker workflow 2025-09-16 15:29:22 -04:00
sbcrumb 1353b53cc8 CRITICAL: Fix database upsert bug preventing manual scan date persistence
**Root Cause**: upsert_movie_dates() was UPDATE-only, not proper upsert
- Manual scans failed to save dateadded to database (NULL values)
- Webhooks found database entries but with NULL dateadded
- Fell back to current timestamp instead of using proper import dates

**Database Fix**:
- Changed core/database.py upsert_movie_dates() from UPDATE to INSERT OR REPLACE
- Now properly saves dateadded during manual scans
- Preserves existing path with COALESCE fallback

**Webhook Enhancement**:
- Added comprehensive debug logging for database lookups
- Enhanced webhook date decision logic with proper fallback chain
- Only uses current timestamp as absolute last resort

**Impact**:
- Movies: Manual scans now persist dates, webhooks find existing entries ✅
- TV Shows: Not affected - already using proper INSERT OR REPLACE ✅
- Version: 1.5.5
2025-09-15 12:18:53 -04:00
sbcrumb ed4a9c0a19 Fix Radarr rename event handling - add missing event type filtering
- Add event type filtering to Radarr webhook handler (Download, Upgrade, Rename)
- Ensures consistency with Sonarr webhook processing
- Fixes issue where Radarr rename events weren't properly updating NFO files
- Bump version to v1.5.3
- Update SUMMARY.md with complete webhook workflow documentation
2025-09-15 09:35:41 -04:00
sbcrumb df04cf9aec update 2025-09-15 09:16:28 -04:00
sbcrumb 75b8338b86 remove hardcode debug statments in favor of variables 2025-09-14 14:38:14 -04:00
sbcrumb 1dae7df3d2 updates to paths again 2025-09-14 14:23:25 -04:00
sbcrumb 1a562f7b41 missing path 2025-09-14 14:21:09 -04:00
sbcrumb f5ae8c7768 cleanup 2025-09-14 14:19:39 -04:00
sbcrumb a9c90d2939 remove debug 2025-09-14 14:15:19 -04:00
sbcrumb 2657729975 dates for TV shows 2025-09-14 13:56:31 -04:00
sbcrumb d7db924510 dates at bottom 2025-09-14 13:54:04 -04:00
sbcrumb 179f8f51d7 nfo dates to the bottom 2025-09-14 13:49:15 -04:00