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

137 lines
4.3 KiB
Markdown

# NFOGuard Release Date Priority System - Testing Guide
## 🧪 Test Your Configured Priority System
### 1. **Test "The Craft (1996)" - Theatrical Fallback**
```bash
# 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**
```bash
# 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`
```bash
curl "http://localhost:8080/debug/movie/tt1745960/priority"
# Should select: digital date
```
**Alternative Config** (edit .env temporarily): `RELEASE_DATE_PRIORITY=theatrical,digital,physical`
```bash
# 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`):
```bash
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:
```bash
# 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
```bash
curl "http://localhost:8080/debug/tmdb/tt0123456"
# Check if movie exists in TMDB and what release data is available
```
### Unexpected Date Selection
```bash
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! 🎯