From 285fc1b9f614302742413d0f2a51f9d28c401401 Mon Sep 17 00:00:00 2001 From: theguymadmax Date: Mon, 1 Jun 2026 10:40:21 -0400 Subject: [PATCH] Fix season unknown for flat tv structures --- .../TV/SeriesMetadataService.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs index 61a31fbfd6..078c396730 100644 --- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs +++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs @@ -210,16 +210,19 @@ public class SeriesMetadataService : MetadataService return true; } - // Not yet processed - if (episode.SeasonId.IsEmpty()) + // Episode has been processed and linked to a season, only needs a virtual season + // if it isn't already linked to a known physical season by ID or path + if (!episode.SeasonId.IsEmpty()) { - return false; + return !physicalSeasonIds.Contains(episode.SeasonId) + && !physicalSeasonPaths.Contains(System.IO.Path.GetDirectoryName(episode.Path) ?? string.Empty); } - // Episode has been processed, only needs a virtual season if it isn't - // already linked to a known physical season by ID or path - return !physicalSeasonIds.Contains(episode.SeasonId) - && !physicalSeasonPaths.Contains(System.IO.Path.GetDirectoryName(episode.Path) ?? string.Empty); + // Episode not yet linked, check if it's in a physical season folder + // If yes then skip it, processing not finished + // If no then include it, needs Season Unknown + var episodeDirectory = System.IO.Path.GetDirectoryName(episode.Path) ?? string.Empty; + return !physicalSeasonPaths.Contains(episodeDirectory); } ///