Files
nfoguard/TEST_PRIORITY_SYSTEM.md
T
2025-09-09 09:52:55 -04:00

4.3 KiB

NFOGuard Release Date Priority System - Testing Guide

🧪 Test Your Configured Priority System

1. Test "The Craft (1996)" - Theatrical Fallback

# Test step-by-step TMDB lookup
curl "http://localhost:8080/debug/tmdb/tt0115963"

# Expected: digital=0, physical=multiple, theatrical=1996-05-03
# Should show: no digital releases, DVD from 2000, theatrical from 1996

# Test priority logic
curl "http://localhost:8080/debug/movie/tt0115963/priority"

# Expected result with your config (digital,physical,theatrical):
# - digital: not available
# - physical: 2000-09-12 (too late - DVD release) 
# - theatrical: 1996-05-03 ← SELECTED (best option)

2. Test Modern Movie - Digital Priority

# Test a recent movie like Top Gun Maverick  
curl "http://localhost:8080/debug/tmdb/tt1745960"

# Expected: digital, physical, and theatrical dates all available
# Should show your priority order preference

curl "http://localhost:8080/debug/movie/tt1745960/priority"

# Expected with your config (digital,physical,theatrical):
# - digital: 2022-08-23 ← SELECTED (first in priority)
# - physical: 2022-10-31 (skipped)
# - theatrical: 2022-05-27 (skipped)

3. Test Different Priority Orders

Your Current Config: RELEASE_DATE_PRIORITY=digital,physical,theatrical

curl "http://localhost:8080/debug/movie/tt1745960/priority"
# Should select: digital date

Alternative Config (edit .env temporarily): RELEASE_DATE_PRIORITY=theatrical,digital,physical

# Restart container after changing .env
docker-compose restart

curl "http://localhost:8080/debug/movie/tt1745960/priority" 
# Should now select: theatrical date (earliest option)

4. Test File Date Fallback Logic

Movies with manual imports (showing radarr:db.file.dateAdded):

curl "http://localhost:8080/debug/movie/tt0115963/priority"

# Expected response:
# {
#   "release_date_priority": ["digital", "physical", "theatrical"],
#   "date_sources": {
#     "radarr_import": {"date": "2025-08-29...", "source": "radarr:db.file.dateAdded"},
#     "digital_release": {"date": "1996-05-03...", "source": "tmdb:theatrical"}
#   },
#   "file_date_detected": true,
#   "would_prefer_digital": true,
#   "selected_date": "1996-05-03T00:00:00+00:00",
#   "selected_source": "tmdb:theatrical (preferred over file date)"
# }

5. Verify NFO Source Annotations

After processing a movie:

# Process the movie
curl -X POST "http://localhost:8080/manual/scan?scan_type=movies"

# Check the created NFO file
cat "/media/Movies/movies/The Craft (1996) [imdb-tt0115963]/movie.nfo"

# Should contain at the end:
# <!-- source: Movie; tmdb:theatrical -->
# <!-- managed by NFOGuard -->

🎯 Expected Behavior by Movie Type

Pre-Digital Era Movies (1990s-early 2000s)

  • Digital: Not available
  • Physical: ⚠️ Often years later (DVD era)
  • Theatrical: Most accurate (selected)
  • Example: The Craft, Titanic, The Matrix

Transition Era Movies (2000s-2010s)

  • Digital: ⚠️ Limited early VOD
  • Physical: Often most relevant (DVD/Blu-ray boom)
  • Theatrical: Available
  • Example: Dark Knight, Avatar, Iron Man

Modern Movies (2010s+)

  • Digital: Most relevant (streaming era)
  • Physical: Available but later
  • Theatrical: Available
  • Example: Top Gun Maverick, Avengers, Everything Everywhere

🔧 Troubleshooting Priority System

No Release Dates Found

curl "http://localhost:8080/debug/tmdb/tt0123456" 
# Check if movie exists in TMDB and what release data is available

Unexpected Date Selection

curl "http://localhost:8080/debug/movie/tt0123456/priority"
# Shows exactly which dates were found and why one was selected

Priority Order Not Working

  1. Check your .env configuration
  2. Restart container: docker-compose restart
  3. Verify with debug endpoint: shows "release_date_priority" array

🎉 Success Indicators

  • Old movies use theatrical dates instead of file dates
  • New movies use digital dates per your preference
  • NFO files show source in comments
  • Priority order is respected and configurable
  • Smart fallbacks prevent unrealistic dates

Your NFOGuard now has intelligent, configurable date selection that adapts to each movie's era and available release data! 🎯