From 21e53532c1e2557f7956335a29c126273748ca24 Mon Sep 17 00:00:00 2001 From: Jason Dove Date: Sat, 25 Sep 2021 14:55:42 -0500 Subject: [PATCH] trakt season bug fixes (#386) --- CHANGELOG.md | 1 + .../MediaCollections/Commands/TraktCommandBase.cs | 2 +- .../Data/Repositories/MediaCollectionRepository.cs | 6 ++++++ ErsatzTV/Pages/Search.razor | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b342f649f..46cf98a14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Trakt lists can only be scheduled by using Smart Collections - Add seasons to search index - This is needed because Trakt lists can contain seasons + - This requires rebuilding the search index and search results may be empty or incomplete until the rebuild is complete ### Fixed - Fix local television scanner to properly update episode metadata when NFO files have been added/changed diff --git a/ErsatzTV.Application/MediaCollections/Commands/TraktCommandBase.cs b/ErsatzTV.Application/MediaCollections/Commands/TraktCommandBase.cs index 7736e9e76..4a6b79b46 100644 --- a/ErsatzTV.Application/MediaCollections/Commands/TraktCommandBase.cs +++ b/ErsatzTV.Application/MediaCollections/Commands/TraktCommandBase.cs @@ -145,7 +145,7 @@ namespace ErsatzTV.Application.MediaCollections.Commands Option maybeSeasonId = await IdentifySeason(dbContext, item); foreach (int seasonId in maybeSeasonId) { - // TODO: ids.Add(seasonId); + ids.Add(seasonId); item.MediaItemId = seasonId; } diff --git a/ErsatzTV.Infrastructure/Data/Repositories/MediaCollectionRepository.cs b/ErsatzTV.Infrastructure/Data/Repositories/MediaCollectionRepository.cs index 1a0326e8d..318b8acee 100644 --- a/ErsatzTV.Infrastructure/Data/Repositories/MediaCollectionRepository.cs +++ b/ErsatzTV.Infrastructure/Data/Repositories/MediaCollectionRepository.cs @@ -114,6 +114,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories result.AddRange(await GetShowItemsFromShowId(dbContext, showId)); } + foreach (int seasonId in searchResults.Items.Filter(i => i.Type == SearchIndex.SeasonType) + .Map(i => i.Id)) + { + result.AddRange(await GetSeasonItemsFromSeasonId(dbContext, seasonId)); + } + foreach (int artistId in searchResults.Items.Filter(i => i.Type == SearchIndex.ArtistType) .Map(i => i.Id)) { diff --git a/ErsatzTV/Pages/Search.razor b/ErsatzTV/Pages/Search.razor index 4e2d8a435..ff05e3256 100644 --- a/ErsatzTV/Pages/Search.razor +++ b/ErsatzTV/Pages/Search.razor @@ -157,7 +157,7 @@ @foreach (TelevisionSeasonCardViewModel card in _seasons.Cards.OrderBy(s => s.SortTitle)) {