From c9624e75501132aaae20a4c8380b4ab29e55f515 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Wed, 8 May 2024 04:05:15 +0300 Subject: [PATCH] Fixed: Ignore invalid movie tags when writing XBMC metadata Co-authored-by: Mark McDowall Fixes #9984 --- .../Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs | 2 +- src/NzbDrone.Core/Tags/TagRepository.cs | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs b/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs index e135ad715b..51c21aa22c 100644 --- a/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs +++ b/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs @@ -294,7 +294,7 @@ public override MetadataFileResult MovieMetadata(Movie movie, MovieFile movieFil if (movie.Tags.Any()) { - var tags = _tagRepository.Get(movie.Tags); + var tags = _tagRepository.GetTags(movie.Tags); foreach (var tag in tags) { diff --git a/src/NzbDrone.Core/Tags/TagRepository.cs b/src/NzbDrone.Core/Tags/TagRepository.cs index 037027dea6..1a54babdf8 100644 --- a/src/NzbDrone.Core/Tags/TagRepository.cs +++ b/src/NzbDrone.Core/Tags/TagRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Linq; using NzbDrone.Core.Datastore; using NzbDrone.Core.Messaging.Events; @@ -9,6 +10,7 @@ public interface ITagRepository : IBasicRepository { Tag GetByLabel(string label); Tag FindByLabel(string label); + List GetTags(HashSet tagIds); } public class TagRepository : BasicRepository, ITagRepository @@ -34,5 +36,10 @@ public Tag FindByLabel(string label) { return Query(x => x.Label == label).SingleOrDefault(); } + + public List GetTags(HashSet tagIds) + { + return Query(t => tagIds.Contains(t.Id)); + } } }