read/write remote trailers to xml

This commit is contained in:
Luke Pulverenti
2013-12-01 15:17:40 -05:00
parent 80a56ddcfa
commit 42a2522637
6 changed files with 76 additions and 29 deletions

View File

@@ -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;