@@ -684,3 +684,4 @@ class NFOManager:
|
|||||||
print(f"✅ Updated {len(updated_files)} video file timestamps in {movie_dir.name}")
|
print(f"✅ Updated {len(updated_files)} video file timestamps in {movie_dir.name}")
|
||||||
else:
|
else:
|
||||||
print(f"⚠️ No video files found to update in {movie_dir.name}")
|
print(f"⚠️ No video files found to update in {movie_dir.name}")
|
||||||
|
|
||||||
|
|||||||
+19
-1
@@ -440,11 +440,28 @@ class TVProcessor:
|
|||||||
if key in disk_episodes: # Only use cached data for episodes we have
|
if key in disk_episodes: # Only use cached data for episodes we have
|
||||||
episode_dates[key] = (ep["aired"], ep["dateadded"], ep["source"])
|
episode_dates[key] = (ep["aired"], ep["dateadded"], ep["source"])
|
||||||
|
|
||||||
# Find missing episodes
|
# Check for existing NFO files (including long-named ones) for migration
|
||||||
|
nfo_episodes_found = 0
|
||||||
|
for (season_num, episode_num) in disk_episodes.keys():
|
||||||
|
if (season_num, episode_num) not in episode_dates:
|
||||||
|
# Check if this episode has an existing NFO file that needs migration
|
||||||
|
season_dir = series_path / config.tv_season_dir_format.format(season=season_num)
|
||||||
|
existing_nfo = self.nfo_manager.find_existing_episode_nfo(season_dir, season_num, episode_num)
|
||||||
|
|
||||||
|
if existing_nfo:
|
||||||
|
# Force processing of this episode for NFO migration
|
||||||
|
episode_dates[(season_num, episode_num)] = (None, None, "nfo_migration_required")
|
||||||
|
nfo_episodes_found += 1
|
||||||
|
|
||||||
|
if nfo_episodes_found > 0:
|
||||||
|
_log("INFO", f"Found {nfo_episodes_found} episodes with existing NFO files requiring migration")
|
||||||
|
|
||||||
|
# Find missing episodes (not in cache and no existing NFO)
|
||||||
cached_keys = set(episode_dates.keys())
|
cached_keys = set(episode_dates.keys())
|
||||||
missing_keys = set(disk_episodes.keys()) - cached_keys
|
missing_keys = set(disk_episodes.keys()) - cached_keys
|
||||||
|
|
||||||
if not missing_keys:
|
if not missing_keys:
|
||||||
|
if nfo_episodes_found == 0:
|
||||||
_log("INFO", "All episodes found in cache")
|
_log("INFO", "All episodes found in cache")
|
||||||
return episode_dates
|
return episode_dates
|
||||||
|
|
||||||
@@ -697,6 +714,7 @@ class TVProcessor:
|
|||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def _get_sonarr_series_metadata(self, imdb_id: str) -> Optional[Dict[str, Any]]:
|
def _get_sonarr_series_metadata(self, imdb_id: str) -> Optional[Dict[str, Any]]:
|
||||||
"""Get enhanced series metadata from Sonarr API"""
|
"""Get enhanced series metadata from Sonarr API"""
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user