From 4e22612c91434732e4db610840c43b7b226ae9e8 Mon Sep 17 00:00:00 2001 From: gnattu Date: Wed, 1 May 2024 13:01:56 +0800 Subject: [PATCH] Fix missing season Index This will add missing season index when it can be guessed from the season name, useful for very old libraries that may contain null index Signed-off-by: gnattu --- MediaBrowser.Providers/TV/SeriesMetadataService.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/MediaBrowser.Providers/TV/SeriesMetadataService.cs b/MediaBrowser.Providers/TV/SeriesMetadataService.cs index 01c07d6332..f1d9d01662 100644 --- a/MediaBrowser.Providers/TV/SeriesMetadataService.cs +++ b/MediaBrowser.Providers/TV/SeriesMetadataService.cs @@ -204,6 +204,12 @@ namespace MediaBrowser.Providers.TV var seasonNames = series.SeasonNames; var seriesChildren = series.GetRecursiveChildren(i => i is Episode || i is Season); var seasons = seriesChildren.OfType().ToList(); + foreach (var season in seasons.Where(season => season.IndexNumber is null).Where(season => season.Name.Contains("season", StringComparison.InvariantCultureIgnoreCase))) + { + season.IndexNumber = int.Parse(new string(season.Name.Where(char.IsDigit).ToArray()), NumberStyles.Integer, CultureInfo.InvariantCulture); + await season.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false); + } + var uniqueSeasonNumbers = seriesChildren .OfType() .Select(e => e.ParentIndexNumber >= 0 ? e.ParentIndexNumber : null)