From dc93cc13b512dc98365299e38c55e905d42f86e9 Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Thu, 16 May 2024 19:36:49 +0200 Subject: [PATCH] Apply review suggestion --- MediaBrowser.Controller/Entities/TV/Series.cs | 16 +++++++--------- .../TV/SeriesMetadataService.cs | 15 ++++++++++----- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs index a2d5e3867e..d200721b28 100644 --- a/MediaBrowser.Controller/Entities/TV/Series.cs +++ b/MediaBrowser.Controller/Entities/TV/Series.cs @@ -214,16 +214,14 @@ namespace MediaBrowser.Controller.Entities.TV public Dictionary GetSeasonNames() { - if (_seasonNames.Count == 0) - { - var childSeasons = Children.OfType() - .Where(s => s.IndexNumber.HasValue) - .DistinctBy(s => s.IndexNumber); + var newSeasons = Children.OfType() + .Where(s => s.IndexNumber.HasValue) + .Where(s => !_seasonNames.ContainsKey(s.IndexNumber.Value)) + .DistinctBy(s => s.IndexNumber); - foreach (var season in childSeasons) - { - _seasonNames[season.IndexNumber.Value] = season.Name; - } + foreach (var season in newSeasons) + { + SetSeasonName(season.IndexNumber.Value, season.Name); } return _seasonNames; diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs index add91a61a8..62eb0d89cf 100644 --- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs +++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs @@ -91,14 +91,19 @@ namespace MediaBrowser.Providers.TV var sourceSeasonNames = sourceItem.GetSeasonNames(); var targetSeasonNames = targetItem.GetSeasonNames(); - if (replaceData - || targetSeasonNames.Count == 0 - || targetSeasonNames.Count != sourceSeasonNames.Count - || !sourceSeasonNames.Keys.All(targetSeasonNames.ContainsKey)) + if (replaceData) { foreach (var (number, name) in sourceSeasonNames) { - target.Item.SetSeasonName(number, name); + targetItem.SetSeasonName(number, name); + } + } + else if (!sourceSeasonNames.Keys.All(targetSeasonNames.ContainsKey)) + { + var newSeasons = sourceSeasonNames.Where(s => !targetSeasonNames.ContainsKey(s.Key)); + foreach (var (number, name) in newSeasons) + { + targetItem.SetSeasonName(number, name); } }