aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-16 15:16:29 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-16 15:16:29 -0400
commit26aa47eefddf89a00ad64ab19af31b511142040d (patch)
tree39c4d65ba0bec28dbedaf79a0884f8a5010d9fab /MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
parent20bcc40e2305f2a2623007701cf3da9fea72b20e (diff)
move people page into main editor
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs73
1 files changed, 45 insertions, 28 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index a6714f656..41f994303 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -62,34 +62,6 @@ namespace MediaBrowser.Controller.Providers
ValidationType = ValidationType.None
};
- var hasTaglines = item as IHasTaglines;
- if (hasTaglines != null)
- {
- hasTaglines.Taglines.Clear();
- }
-
- item.Studios.Clear();
- item.Genres.Clear();
- item.People.Clear();
-
- var hasTags = item as IHasTags;
- if (hasTags != null)
- {
- hasTags.Tags.Clear();
- }
-
- var hasKeywords = item as IHasKeywords;
- if (hasKeywords != null)
- {
- hasKeywords.Keywords.Clear();
- }
-
- var hasTrailers = item as IHasTrailers;
- if (hasTrailers != null)
- {
- hasTrailers.RemoteTrailers.Clear();
- }
-
//Fetch(item, metadataFile, settings, Encoding.GetEncoding("ISO-8859-1"), cancellationToken);
Fetch(item, metadataFile, settings, Encoding.UTF8, cancellationToken);
}
@@ -373,6 +345,15 @@ namespace MediaBrowser.Controller.Providers
break;
}
+ case "Countries":
+ {
+ using (var subtree = reader.ReadSubtree())
+ {
+ FetchFromCountriesNode(subtree, item);
+ }
+ break;
+ }
+
case "ContentRating":
case "MPAARating":
{
@@ -857,6 +838,42 @@ namespace MediaBrowser.Controller.Providers
}
}
+ private void FetchFromCountriesNode(XmlReader reader, T item)
+ {
+ reader.MoveToContent();
+
+ while (reader.Read())
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ switch (reader.Name)
+ {
+ case "Country":
+ {
+ var val = reader.ReadElementContentAsString();
+
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ var hasProductionLocations = item as IHasProductionLocations;
+ if (hasProductionLocations != null)
+ {
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ hasProductionLocations.AddProductionLocation(val);
+ }
+ }
+ }
+ break;
+ }
+
+ default:
+ reader.Skip();
+ break;
+ }
+ }
+ }
+ }
+
/// <summary>
/// Fetches from taglines node.
/// </summary>