diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-17 14:48:18 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-17 14:48:18 -0400 |
| commit | 95f471e8c3ab466488cc4c2fba1b15e14e00ee3c (patch) | |
| tree | 83aaeaac019603a75d34da5298f2981a3fcb5e85 | |
| parent | 9bb1588afdf78ee488b13f082ac8d5faafed7196 (diff) | |
fixes #354 - BaseItemXmlParser not handling MusicVideos
| -rw-r--r-- | MediaBrowser.Providers/Movies/MovieProviderFromXml.cs | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs b/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs index b7d3e6e57..a427f1bac 100644 --- a/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs +++ b/MediaBrowser.Providers/Movies/MovieProviderFromXml.cs @@ -1,12 +1,12 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Logging; using System; using System.IO; using System.Threading; using System.Threading.Tasks; -using MediaBrowser.Controller.Providers; -using MediaBrowser.Model.Logging; namespace MediaBrowser.Providers.Movies { @@ -15,7 +15,8 @@ namespace MediaBrowser.Providers.Movies /// </summary> public class MovieProviderFromXml : BaseMetadataProvider { - public MovieProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager) : base(logManager, configurationManager) + public MovieProviderFromXml(ILogManager logManager, IServerConfigurationManager configurationManager) + : base(logManager, configurationManager) { } @@ -78,25 +79,49 @@ namespace MediaBrowser.Providers.Movies private async Task<bool> Fetch(BaseItem item, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); - + var metadataFile = item.ResolveArgs.GetMetaFileByPath(Path.Combine(item.MetaLocation, "movie.xml")); if (metadataFile != null) { var path = metadataFile.FullName; - var boxset = item as BoxSet; await XmlParsingResourcePool.WaitAsync(cancellationToken).ConfigureAwait(false); try { - if (boxset != null) + var movie = item as Movie; + + if (movie != null) { - new BaseItemXmlParser<BoxSet>(Logger).Fetch(boxset, path, cancellationToken); + new BaseItemXmlParser<Movie>(Logger).Fetch(movie, path, cancellationToken); } else { - new BaseItemXmlParser<Movie>(Logger).Fetch((Movie)item, path, cancellationToken); + var boxset = item as BoxSet; + + if (boxset != null) + { + new BaseItemXmlParser<BoxSet>(Logger).Fetch(boxset, path, cancellationToken); + } + else + { + var musicVideo = item as MusicVideo; + + if (musicVideo != null) + { + new BaseItemXmlParser<MusicVideo>(Logger).Fetch(musicVideo, path, cancellationToken); + } + else + { + var trailer = item as Trailer; + + if (trailer != null) + { + new BaseItemXmlParser<Trailer>(Logger).Fetch(trailer, path, cancellationToken); + } + } + } } } finally |
