update
Local Docker Build (Dev) / build-dev (push) Successful in 28s

This commit is contained in:
2025-09-26 14:56:01 -04:00
parent b9e3ae3a5e
commit c19d0f6290
+45 -21
View File
@@ -98,30 +98,54 @@ class TVSeriesProcessor:
"""Find all episodes on disk, grouped by (season, episode)""" """Find all episodes on disk, grouped by (season, episode)"""
episodes = {} episodes = {}
_log("DEBUG", f"Scanning for season directories in: {series_path}") try:
for season_dir in series_path.iterdir(): _log("DEBUG", f"Scanning for season directories in: {series_path}")
_log("DEBUG", f"Checking directory: {season_dir.name} (is_dir: {season_dir.is_dir()})") _log("DEBUG", f"Series path exists: {series_path.exists()}, is_dir: {series_path.is_dir()}")
if season_dir.is_dir() and self._is_season_directory(season_dir.name):
season_num = self._extract_season_number(season_dir.name)
_log("DEBUG", f"Found season directory: {season_dir.name} → season {season_num}")
if season_num is None:
continue
# Find video files in this season if not series_path.exists() or not series_path.is_dir():
season_episodes = self.episode_nfo_manager.find_video_files_for_season(season_dir) _log("ERROR", f"Series path does not exist or is not a directory: {series_path}")
_log("DEBUG", f"Found {len(season_episodes)} episodes in {season_dir.name}: {list(season_episodes.keys())}") return episodes
# Add season directory info to episodes # List all items in directory for debugging
for (s_num, e_num), video_files in season_episodes.items(): try:
_log("DEBUG", f"Episode S{s_num:02d}E{e_num:02d}: season_dir={season_num}, filename_season={s_num}") items = list(series_path.iterdir())
if s_num == season_num: # Verify season matches directory _log("DEBUG", f"Found {len(items)} items in series directory")
episodes[(s_num, e_num)] = video_files for item in items:
_log("DEBUG", f"Added episode S{s_num:02d}E{e_num:02d} to processing list") _log("DEBUG", f" Item: {item.name} (is_dir: {item.is_dir()})")
else: except Exception as e:
_log("WARNING", f"Season mismatch: directory={season_num}, filename={s_num} for S{s_num:02d}E{e_num:02d}") _log("ERROR", f"Failed to list directory contents: {e}")
return episodes
_log("DEBUG", f"Total episodes found on disk: {len(episodes)}") for season_dir in series_path.iterdir():
return episodes _log("DEBUG", f"Checking directory: {season_dir.name} (is_dir: {season_dir.is_dir()})")
_log("DEBUG", f"Season directory regex test for '{season_dir.name}': {self._is_season_directory(season_dir.name)}")
if season_dir.is_dir() and self._is_season_directory(season_dir.name):
season_num = self._extract_season_number(season_dir.name)
_log("DEBUG", f"Found season directory: {season_dir.name} → season {season_num}")
if season_num is None:
_log("WARNING", f"Could not extract season number from: {season_dir.name}")
continue
# Find video files in this season
season_episodes = self.episode_nfo_manager.find_video_files_for_season(season_dir)
_log("DEBUG", f"Found {len(season_episodes)} episodes in {season_dir.name}: {list(season_episodes.keys())}")
# Add season directory info to episodes
for (s_num, e_num), video_files in season_episodes.items():
_log("DEBUG", f"Episode S{s_num:02d}E{e_num:02d}: season_dir={season_num}, filename_season={s_num}")
if s_num == season_num: # Verify season matches directory
episodes[(s_num, e_num)] = video_files
_log("DEBUG", f"Added episode S{s_num:02d}E{e_num:02d} to processing list")
else:
_log("WARNING", f"Season mismatch: directory={season_num}, filename={s_num} for S{s_num:02d}E{e_num:02d}")
_log("DEBUG", f"Total episodes found on disk: {len(episodes)}")
return episodes
except Exception as e:
_log("ERROR", f"Exception in _find_episodes_on_disk: {e}")
return episodes
def _extract_season_number(self, dirname: str) -> Optional[int]: def _extract_season_number(self, dirname: str) -> Optional[int]:
"""Extract season number from directory name""" """Extract season number from directory name"""