aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-01 15:17:40 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-12-01 15:17:40 -0500
commit42a2522637d1772381eecee0d32ed3ef60fa3c73 (patch)
tree209f24e23233b4943d4e8b09bda905a50b20ffb8 /MediaBrowser.Controller
parent80a56ddcfaf31655beb5e83d1fc904295b814c33 (diff)
read/write remote trailers to xml
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Providers/BaseItemXmlParser.cs39
1 files changed, 39 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
index 8ee622eda9..14c83bed43 100644
--- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
+++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
@@ -68,6 +68,7 @@ namespace MediaBrowser.Controller.Providers
item.Genres.Clear();
item.People.Clear();
item.Tags.Clear();
+ item.RemoteTrailers.Clear();
//Fetch(item, metadataFile, settings, Encoding.GetEncoding("ISO-8859-1"), cancellationToken);
Fetch(item, metadataFile, settings, Encoding.UTF8, cancellationToken);
@@ -482,6 +483,15 @@ namespace MediaBrowser.Controller.Providers
break;
}
+ case "Trailers":
+ {
+ using (var subtree = reader.ReadSubtree())
+ {
+ FetchDataFromTrailersNode(subtree, item);
+ }
+ break;
+ }
+
case "ReleaseYear":
case "ProductionYear":
{
@@ -922,6 +932,35 @@ namespace MediaBrowser.Controller.Providers
}
}
+ private void FetchDataFromTrailersNode(XmlReader reader, T item)
+ {
+ reader.MoveToContent();
+
+ while (reader.Read())
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ switch (reader.Name)
+ {
+ case "Trailer":
+ {
+ var val = reader.ReadElementContentAsString();
+
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ item.AddTrailerUrl(val, false);
+ }
+ break;
+ }
+
+ default:
+ reader.Skip();
+ break;
+ }
+ }
+ }
+ }
+
protected async Task FetchChaptersFromXmlNode(BaseItem item, XmlReader reader, IItemRepository repository, CancellationToken cancellationToken)
{
var runtime = item.RunTimeTicks ?? 0;