From c79578e99f45c1557abfe61b0b5f59597d3fb018 Mon Sep 17 00:00:00 2001 From: RobinQ124274 <40181407+RobinQ124274@users.noreply.github.com> Date: Sun, 28 Apr 2019 01:33:06 +0200 Subject: [PATCH] Added: Remote poster and fanart references to Kodi metadata file (#2837) (#3302) * Added: Remote poster and fanart references to Kodi metadata file (#2837) * Added: Null checks to Remote poster and fanart references to Kodi metadata file (#2837) --- .../Metadata/Consumers/Xbmc/XbmcMetadata.cs | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs b/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs index 9ae6b58a0..ce4af082e 100644 --- a/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs +++ b/src/NzbDrone.Core/Extras/Metadata/Consumers/Xbmc/XbmcMetadata.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -121,7 +121,9 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc using (var xw = XmlWriter.Create(sb, xws)) { var doc = new XDocument(); - var image = movie.Images.SingleOrDefault(i => i.CoverType == MediaCoverTypes.Screenshot); + var thumbnail = movie.Images.SingleOrDefault(i => i.CoverType == MediaCoverTypes.Screenshot); + var posters = movie.Images.Where(i => i.CoverType == MediaCoverTypes.Poster); + var fanarts = movie.Images.Where(i => i.CoverType == MediaCoverTypes.Fanart); var details = new XElement("movie"); @@ -161,14 +163,35 @@ namespace NzbDrone.Core.Extras.Metadata.Consumers.Xbmc details.Add(new XElement("studio", movie.Studio)); - if (image == null) + if (thumbnail == null) { details.Add(new XElement("thumb")); } else { - details.Add(new XElement("thumb", image.Url)); + details.Add(new XElement("thumb", thumbnail.Url)); + } + + foreach (var poster in posters) + { + if (poster != null && poster.Url != null) + { + details.Add(new XElement("thumb", new XAttribute("aspect", "poster"), poster.Url)); + } + } + + if (fanarts.Count() > 0) + { + var fanartElement = new XElement("fanart"); + foreach (var fanart in fanarts) + { + if (fanart != null && fanart.Url != null) + { + fanartElement.Add(new XElement("thumb", fanart.Url)); + } + } + details.Add(fanartElement); } details.Add(new XElement("watched", watched));