aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs41
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs29
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs29
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs12
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs10
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs2
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs2
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs14
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs4
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs2
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs2
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs12
12 files changed, 66 insertions, 93 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 868c667f6..ad514492d 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Common.Configuration;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Extensions;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Entities;
@@ -42,12 +43,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches metadata for an item from one xml file
/// </summary>
/// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
/// <param name="metadataFile">The metadata file.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <exception cref="System.ArgumentNullException">
/// </exception>
- public void Fetch(T item, List<UserItemData> userDataList, string metadataFile, CancellationToken cancellationToken)
+ public void Fetch(LocalMetadataResult<T> item, string metadataFile, CancellationToken cancellationToken)
{
if (item == null)
{
@@ -67,7 +67,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
ValidationType = ValidationType.None
};
- Fetch(item, userDataList, metadataFile, settings, cancellationToken);
+ Fetch(item, metadataFile, settings, cancellationToken);
}
protected virtual bool SupportsUrlAfterClosingXmlTag
@@ -79,11 +79,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches the specified item.
/// </summary>
/// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
/// <param name="metadataFile">The metadata file.</param>
/// <param name="settings">The settings.</param>
/// <param name="cancellationToken">The cancellation token.</param>
- private void Fetch(T item, List<UserItemData> userDataList, string metadataFile, XmlReaderSettings settings, CancellationToken cancellationToken)
+ private void Fetch(LocalMetadataResult<T> item, string metadataFile, XmlReaderSettings settings, CancellationToken cancellationToken)
{
if (!SupportsUrlAfterClosingXmlTag)
{
@@ -101,7 +100,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (reader.NodeType == XmlNodeType.Element)
{
- FetchDataFromXmlNode(reader, item, userDataList);
+ FetchDataFromXmlNode(reader, item);
}
}
}
@@ -122,7 +121,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
var endingXml = xml.Substring(index);
- ParseProviderLinks(item, endingXml);
+ ParseProviderLinks(item.Item, endingXml);
// If the file is just an imdb url, don't go any further
if (index == 0)
@@ -136,7 +135,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
// If the file is just an Imdb url, handle that
- ParseProviderLinks(item, xml);
+ ParseProviderLinks(item.Item, xml);
return;
}
@@ -160,7 +159,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (reader.NodeType == XmlNodeType.Element)
{
- FetchDataFromXmlNode(reader, item, userDataList);
+ FetchDataFromXmlNode(reader, item);
}
}
}
@@ -183,8 +182,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
// http://www.themoviedb.org/movie/36557
}
- protected virtual void FetchDataFromXmlNode(XmlReader reader, T item, List<UserItemData> userDataList)
+ protected virtual void FetchDataFromXmlNode(XmlReader reader, LocalMetadataResult<T> itemResult)
{
+ var item = itemResult.Item;
+
var userDataUserId = _config.GetNfoConfiguration().UserId;
switch (reader.Name)
@@ -573,7 +574,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
continue;
}
- item.AddPerson(p);
+ PeopleHelper.AddPerson(itemResult.People, p);
}
break;
}
@@ -592,7 +593,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
continue;
}
- item.AddPerson(p);
+ PeopleHelper.AddPerson(itemResult.People, p);
}
}
break;
@@ -606,7 +607,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
continue;
}
- item.AddPerson(p);
+ PeopleHelper.AddPerson(itemResult.People, p);
}
break;
}
@@ -617,7 +618,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
var person = GetPersonFromXmlNode(subtree);
- item.AddPerson(person);
+ PeopleHelper.AddPerson(itemResult.People, person);
}
break;
}
@@ -931,7 +932,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
userData.Played = parsedValue;
}
@@ -951,7 +952,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
userData.PlayCount = parsedValue;
@@ -976,7 +977,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
userData.LastPlayedDate = parsedValue;
}
@@ -991,7 +992,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
FetchFromResumeNode(subtree, item, userData);
}
@@ -1010,7 +1011,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
userData.IsFavorite = parsedValue;
}
@@ -1030,7 +1031,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
if (!string.IsNullOrWhiteSpace(userDataUserId))
{
- var userData = GetOrAdd(userDataList, userDataUserId);
+ var userData = GetOrAdd(itemResult.UserDataLIst, userDataUserId);
userData.Rating = parsedValue;
}
diff --git a/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs
index 42a60276b..355f19de7 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs
@@ -2,7 +2,6 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
@@ -14,26 +13,16 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
public class EpisodeNfoParser : BaseNfoParser<Episode>
{
- private List<LocalImageInfo> _imagesFound;
- private List<ChapterInfo> _chaptersFound;
- private string _xmlPath;
-
public EpisodeNfoParser(ILogger logger, IConfigurationManager config) : base(logger, config)
{
}
- public void Fetch(Episode item,
- List<UserItemData> userDataList,
+ public void Fetch(LocalMetadataResult<Episode> item,
List<LocalImageInfo> images,
- List<ChapterInfo> chapters,
string metadataFile,
CancellationToken cancellationToken)
{
- _imagesFound = images;
- _chaptersFound = chapters;
- _xmlPath = metadataFile;
-
- Fetch(item, userDataList, metadataFile, cancellationToken);
+ Fetch(item, metadataFile, cancellationToken);
}
private static readonly CultureInfo UsCulture = new CultureInfo("en-US");
@@ -42,17 +31,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
- /// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
- protected override void FetchDataFromXmlNode(XmlReader reader, Episode item, List<UserItemData> userDataList)
+ /// <param name="itemResult">The item result.</param>
+ protected override void FetchDataFromXmlNode(XmlReader reader, LocalMetadataResult<Episode> itemResult)
{
+ var item = itemResult.Item;
+
switch (reader.Name)
{
- //case "Chapters":
-
- // _chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree()));
- // break;
-
case "season":
{
var number = reader.ReadElementContentAsString();
@@ -206,7 +191,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
default:
- base.FetchDataFromXmlNode(reader, item, userDataList);
+ base.FetchDataFromXmlNode(reader, itemResult);
break;
}
}
diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
index 2a275320f..ab4619875 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
@@ -1,33 +1,20 @@
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
-using System.Threading;
using System.Xml;
namespace MediaBrowser.XbmcMetadata.Parsers
{
class MovieNfoParser : BaseNfoParser<Video>
{
- private List<ChapterInfo> _chaptersFound;
-
public MovieNfoParser(ILogger logger, IConfigurationManager config) : base(logger, config)
{
}
- public void Fetch(Video item,
- List<UserItemData> userDataList,
- List<ChapterInfo> chapters,
- string metadataFile,
- CancellationToken cancellationToken)
- {
- _chaptersFound = chapters;
-
- Fetch(item, userDataList, metadataFile, cancellationToken);
- }
-
protected override bool SupportsUrlAfterClosingXmlTag
{
get
@@ -40,10 +27,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
- /// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
- protected override void FetchDataFromXmlNode(XmlReader reader, Video item, List<UserItemData> userDataList)
+ /// <param name="itemResult">The item result.</param>
+ protected override void FetchDataFromXmlNode(XmlReader reader, LocalMetadataResult<Video> itemResult)
{
+ var item = itemResult.Item;
+
switch (reader.Name)
{
case "id":
@@ -93,13 +81,8 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
- //case "chapter":
-
- // _chaptersFound.AddRange(FetchChaptersFromXmlNode(item, reader.ReadSubtree()));
- // break;
-
default:
- base.FetchDataFromXmlNode(reader, item, userDataList);
+ base.FetchDataFromXmlNode(reader, itemResult);
break;
}
}
diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs
index 1ea0053b3..c80684c41 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/SeasonNfoParser.cs
@@ -1,8 +1,7 @@
using MediaBrowser.Common.Configuration;
-using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Logging;
-using System.Collections.Generic;
using System.Globalization;
using System.Xml;
@@ -18,10 +17,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
- /// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
- protected override void FetchDataFromXmlNode(XmlReader reader, Season item, List<UserItemData> userDataList)
+ /// <param name="itemResult">The item result.</param>
+ protected override void FetchDataFromXmlNode(XmlReader reader, LocalMetadataResult<Season> itemResult)
{
+ var item = itemResult.Item;
+
switch (reader.Name)
{
case "seasonnumber":
@@ -41,7 +41,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
default:
- base.FetchDataFromXmlNode(reader, item, userDataList);
+ base.FetchDataFromXmlNode(reader, itemResult);
break;
}
}
diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
index 2e8b07695..5025f4d18 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System;
@@ -20,10 +21,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
/// Fetches the data from XML node.
/// </summary>
/// <param name="reader">The reader.</param>
- /// <param name="item">The item.</param>
- /// <param name="userDataList">The user data list.</param>
- protected override void FetchDataFromXmlNode(XmlReader reader, Series item, List<UserItemData> userDataList)
+ /// <param name="itemResult">The item result.</param>
+ protected override void FetchDataFromXmlNode(XmlReader reader, LocalMetadataResult<Series> itemResult)
{
+ var item = itemResult.Item;
+
switch (reader.Name)
{
case "id":
@@ -88,7 +90,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
}
default:
- base.FetchDataFromXmlNode(reader, item, userDataList);
+ base.FetchDataFromXmlNode(reader, itemResult);
break;
}
}
diff --git a/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs
index 9567de2b8..ac76db771 100644
--- a/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs
@@ -23,7 +23,7 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<MusicAlbum> result, string path, CancellationToken cancellationToken)
{
- new BaseNfoParser<MusicAlbum>(_logger, _config).Fetch(result.Item, result.UserDataLIst, path, cancellationToken);
+ new BaseNfoParser<MusicAlbum>(_logger, _config).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs
index 1f9c78b56..8a958c3a6 100644
--- a/MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/ArtistNfoProvider.cs
@@ -23,7 +23,7 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<MusicArtist> result, string path, CancellationToken cancellationToken)
{
- new BaseNfoParser<MusicArtist>(_logger, _config).Fetch(result.Item, result.UserDataLIst, path, cancellationToken);
+ new BaseNfoParser<MusicArtist>(_logger, _config).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
index 4dff051c7..79315cbf3 100644
--- a/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
@@ -2,11 +2,9 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
-using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.XbmcMetadata.Parsers;
using MediaBrowser.XbmcMetadata.Savers;
-using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
@@ -28,11 +26,15 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<T> result, string path, CancellationToken cancellationToken)
{
- var chapters = new List<ChapterInfo>();
+ var tmpItem = new LocalMetadataResult<Video>
+ {
+ Item = result.Item
+ };
+ new MovieNfoParser(_logger, _config).Fetch(tmpItem, path, cancellationToken);
- new MovieNfoParser(_logger, _config).Fetch(result.Item, result.UserDataLIst, chapters, path, cancellationToken);
-
- result.Chapters = chapters;
+ result.Item = (T)tmpItem.Item;
+ result.People = tmpItem.People;
+ result.UserDataLIst = tmpItem.UserDataLIst;
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs
index 2d4bb4ddc..2b5cfe9a3 100644
--- a/MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/EpisodeNfoProvider.cs
@@ -26,12 +26,10 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<Episode> result, string path, CancellationToken cancellationToken)
{
var images = new List<LocalImageInfo>();
- var chapters = new List<ChapterInfo>();
- new EpisodeNfoParser(_logger, _config).Fetch(result.Item, result.UserDataLIst, images, chapters, path, cancellationToken);
+ new EpisodeNfoParser(_logger, _config).Fetch(result, images, path, cancellationToken);
result.Images = images;
- result.Chapters = chapters;
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs
index 1be67c310..85c2d4305 100644
--- a/MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/SeasonNfoProvider.cs
@@ -23,7 +23,7 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<Season> result, string path, CancellationToken cancellationToken)
{
- new SeasonNfoParser(_logger, _config).Fetch(result.Item, result.UserDataLIst, path, cancellationToken);
+ new SeasonNfoParser(_logger, _config).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs
index b415571e3..e2ac866ef 100644
--- a/MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/SeriesNfoProvider.cs
@@ -23,7 +23,7 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override void Fetch(LocalMetadataResult<Series> result, string path, CancellationToken cancellationToken)
{
- new SeriesNfoParser(_logger, _config).Fetch(result.Item, result.UserDataLIst, path, cancellationToken);
+ new SeriesNfoParser(_logger, _config).Fetch(result, path, cancellationToken);
}
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
index 9cde958c4..b6f497a76 100644
--- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
@@ -472,7 +472,9 @@ namespace MediaBrowser.XbmcMetadata.Savers
}
}
- var directors = item.People
+ var people = libraryManager.GetPeople(item);
+
+ var directors = people
.Where(i => IsPersonType(i, PersonType.Director))
.Select(i => i.Name)
.ToList();
@@ -482,7 +484,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
writer.WriteElementString("director", person);
}
- var writers = item.People
+ var writers = people
.Where(i => IsPersonType(i, PersonType.Writer))
.Select(i => i.Name)
.Distinct(StringComparer.OrdinalIgnoreCase)
@@ -820,7 +822,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
AddUserData(item, writer, userManager, userDataRepo, options);
- AddActors(item, writer, libraryManager, fileSystem, config);
+ AddActors(people, writer, libraryManager, fileSystem, config);
var folder = item as BoxSet;
if (folder != null)
@@ -948,9 +950,9 @@ namespace MediaBrowser.XbmcMetadata.Savers
writer.WriteEndElement();
}
- private static void AddActors(BaseItem item, XmlWriter writer, ILibraryManager libraryManager, IFileSystem fileSystem, IServerConfigurationManager config)
+ private static void AddActors(List<PersonInfo> people, XmlWriter writer, ILibraryManager libraryManager, IFileSystem fileSystem, IServerConfigurationManager config)
{
- var actors = item.People
+ var actors = people
.Where(i => !IsPersonType(i, PersonType.Director) && !IsPersonType(i, PersonType.Writer))
.ToList();