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
This commit is contained in:
@@ -173,6 +173,7 @@ class NFOGuardDatabase:
|
||||
def upsert_movie_dates(self, imdb_id: str, released: Optional[str],
|
||||
dateadded: Optional[str], source: str, has_video_file: bool = False):
|
||||
"""Insert or update movie date record"""
|
||||
print(f"🔍 DATABASE UPSERT: imdb_id={imdb_id}, dateadded={dateadded}, source={source}")
|
||||
with self.get_connection() as conn:
|
||||
cursor = conn.cursor()
|
||||
# Use INSERT OR REPLACE to ensure we always update the dates properly
|
||||
@@ -184,6 +185,11 @@ class NFOGuardDatabase:
|
||||
?, ?, ?, ?, ?
|
||||
)
|
||||
""", (imdb_id, imdb_id, released, dateadded, source, has_video_file, datetime.utcnow().isoformat()))
|
||||
|
||||
# Debug: Check what was actually saved
|
||||
cursor.execute("SELECT dateadded, source FROM movies WHERE imdb_id = ?", (imdb_id,))
|
||||
result = cursor.fetchone()
|
||||
print(f"🔍 DATABASE VERIFY: After upsert, found dateadded={result[0] if result else 'NOT_FOUND'}, source={result[1] if result else 'NOT_FOUND'}")
|
||||
|
||||
def get_series_episodes(self, imdb_id: str, has_video_file_only: bool = False) -> List[Dict]:
|
||||
"""Get all episodes for a series"""
|
||||
|
||||
Reference in New Issue
Block a user