diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-24 12:24:29 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-08-24 12:24:29 -0400 |
| commit | cc25bd579b820a91e436a358f38321d254c27451 (patch) | |
| tree | 0370b3de129933e9dda0bf5318d1d79c23ff4f2a /MediaBrowser.Controller/Xml/BaseItemXmlParser.cs | |
| parent | 0a16aeb4483ca8241c781eb40a07942b46bc171c (diff) | |
Chaged BaseItem.People to a dictionary to prevent duplicates and improve Contains performance. Tweaked ffprobe and provider execution.
Diffstat (limited to 'MediaBrowser.Controller/Xml/BaseItemXmlParser.cs')
| -rw-r--r-- | MediaBrowser.Controller/Xml/BaseItemXmlParser.cs | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/MediaBrowser.Controller/Xml/BaseItemXmlParser.cs b/MediaBrowser.Controller/Xml/BaseItemXmlParser.cs index e2ed60b4e..e12ffd542 100644 --- a/MediaBrowser.Controller/Xml/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Xml/BaseItemXmlParser.cs @@ -157,28 +157,28 @@ namespace MediaBrowser.Controller.Xml case "Director":
{
- var list = item.People ?? new List<PersonInfo>();
- list.AddRange(GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Director" }));
-
- item.People = list;
+ foreach (PersonInfo p in GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Director" }))
+ {
+ item.AddPerson(p);
+ }
break;
}
case "Writer":
{
- var list = item.People ?? new List<PersonInfo>();
- list.AddRange(GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Writer" }));
-
- item.People = list;
+ foreach (PersonInfo p in GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Writer" }))
+ {
+ item.AddPerson(p);
+ }
break;
}
case "Actors":
case "GuestStars":
{
- var list = item.People ?? new List<PersonInfo>();
- list.AddRange(GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Actor" }));
-
- item.People = list;
+ foreach (PersonInfo p in GetSplitValues(reader.ReadElementContentAsString(), '|').Select(v => new PersonInfo() { Name = v, Type = "Actor" }))
+ {
+ item.AddPerson(p);
+ }
break;
}
@@ -556,8 +556,6 @@ namespace MediaBrowser.Controller.Xml private void FetchDataFromPersonsNode(XmlReader reader, T item)
{
- var list = item.People ?? new List<PersonInfo>();
-
reader.MoveToContent();
while (reader.Read())
@@ -568,7 +566,7 @@ namespace MediaBrowser.Controller.Xml {
case "Person":
{
- list.Add(GetPersonFromXmlNode(reader.ReadSubtree()));
+ item.AddPerson(GetPersonFromXmlNode(reader.ReadSubtree()));
break;
}
@@ -578,8 +576,6 @@ namespace MediaBrowser.Controller.Xml }
}
}
-
- item.People = list;
}
private void FetchFromStudiosNode(XmlReader reader, T item)
|
