diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-01 15:17:40 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-12-01 15:17:40 -0500 |
| commit | 42a2522637d1772381eecee0d32ed3ef60fa3c73 (patch) | |
| tree | 209f24e23233b4943d4e8b09bda905a50b20ffb8 /MediaBrowser.Controller | |
| parent | 80a56ddcfaf31655beb5e83d1fc904295b814c33 (diff) | |
read/write remote trailers to xml
Diffstat (limited to 'MediaBrowser.Controller')
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 39 |
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; |
