From 609d2283c6dc7572b7bfbf5cd55c8c2ce74e29a4 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 23 Jul 2015 22:48:10 -0400 Subject: update polymer --- .../Providers/BaseItemXmlParser.cs | 12 +++++++----- MediaBrowser.Controller/Providers/MetadataResult.cs | 21 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 7 deletions(-) (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index c1a4fa765..383d0881e 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -74,6 +74,8 @@ namespace MediaBrowser.Controller.Providers /// The cancellation token. private void Fetch(MetadataResult item, string metadataFile, XmlReaderSettings settings, Encoding encoding, CancellationToken cancellationToken) { + item.ResetPeople(); + using (var streamReader = new StreamReader(metadataFile, encoding)) { // Use XmlReader for best performance @@ -492,7 +494,7 @@ namespace MediaBrowser.Controller.Providers { continue; } - PeopleHelper.AddPerson(itemResult.People, p); + itemResult.AddPerson(p); } break; } @@ -504,7 +506,7 @@ namespace MediaBrowser.Controller.Providers { continue; } - PeopleHelper.AddPerson(itemResult.People, p); + itemResult.AddPerson(p); } break; } @@ -529,7 +531,7 @@ namespace MediaBrowser.Controller.Providers { continue; } - PeopleHelper.AddPerson(itemResult.People, p); + itemResult.AddPerson(p); } } break; @@ -543,7 +545,7 @@ namespace MediaBrowser.Controller.Providers { continue; } - PeopleHelper.AddPerson(itemResult.People, p); + itemResult.AddPerson(p); } break; } @@ -1156,7 +1158,7 @@ namespace MediaBrowser.Controller.Providers { continue; } - PeopleHelper.AddPerson(item.People, person); + item.AddPerson(person); } } break; diff --git a/MediaBrowser.Controller/Providers/MetadataResult.cs b/MediaBrowser.Controller/Providers/MetadataResult.cs index a18dd83e8..68cdf4d72 100644 --- a/MediaBrowser.Controller/Providers/MetadataResult.cs +++ b/MediaBrowser.Controller/Providers/MetadataResult.cs @@ -10,9 +10,26 @@ namespace MediaBrowser.Controller.Providers public bool HasMetadata { get; set; } public T Item { get; set; } - public MetadataResult() + public void AddPerson(PersonInfo p) { - People = new List(); + if (People == null) + { + People = new List(); + } + + PeopleHelper.AddPerson(People, p); + } + + /// + /// Not only does this clear, but initializes the list so that services can differentiate between a null list and zero people + /// + public void ResetPeople() + { + if (People == null) + { + People = new List(); + } + People.Clear(); } } } \ No newline at end of file -- cgit v1.2.3