From 2884df296c35d615065e6c6ce4685197a424c707 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Sat, 8 Sep 2012 14:37:55 -0400 Subject: Moved Movies into the main project --- .../MediaBrowser.Controller.csproj | 4 + .../Providers/Movies/MovieProviderFromXml.cs | 37 +++++++++ .../Movies/MovieSpecialFeaturesProvider.cs | 45 +++++++++++ .../Resolvers/Movies/BoxSetResolver.cs | 28 +++++++ .../Resolvers/Movies/MovieResolver.cs | 90 ++++++++++++++++++++++ 5 files changed, 204 insertions(+) create mode 100644 MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs create mode 100644 MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs create mode 100644 MediaBrowser.Controller/Resolvers/Movies/BoxSetResolver.cs create mode 100644 MediaBrowser.Controller/Resolvers/Movies/MovieResolver.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index c5046b9c66..66da56480f 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -57,6 +57,10 @@ + + + + diff --git a/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs new file mode 100644 index 0000000000..6432ebee8a --- /dev/null +++ b/MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs @@ -0,0 +1,37 @@ +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Xml; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Entities.Movies; +using System.ComponentModel.Composition; +using System.IO; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Providers.Movies +{ + [Export(typeof(BaseMetadataProvider))] + public class MovieProviderFromXml : BaseMetadataProvider + { + public override bool Supports(BaseEntity item) + { + return item is Movie; + } + + public override MetadataProviderPriority Priority + { + get { return MetadataProviderPriority.First; } + } + + public override async Task FetchAsync(BaseEntity item, ItemResolveEventArgs args) + { + await Task.Run(() => { Fetch(item, args); }).ConfigureAwait(false); + } + + private void Fetch(BaseEntity item, ItemResolveEventArgs args) + { + if (args.ContainsFile("movie.xml")) + { + new BaseItemXmlParser().Fetch(item as Movie, Path.Combine(args.Path, "movie.xml")); + } + } + } +} diff --git a/MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs b/MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs new file mode 100644 index 0000000000..cb028602e4 --- /dev/null +++ b/MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs @@ -0,0 +1,45 @@ +using MediaBrowser.Controller.IO; +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Entities.Movies; +using System.Collections.Generic; +using System.ComponentModel.Composition; +using System.IO; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Providers.Movies +{ + [Export(typeof(BaseMetadataProvider))] + public class MovieSpecialFeaturesProvider : BaseMetadataProvider + { + public override bool Supports(BaseEntity item) + { + return item is Movie; + } + + public override MetadataProviderPriority Priority + { + get { return MetadataProviderPriority.First; } + } + + public async override Task FetchAsync(BaseEntity item, ItemResolveEventArgs args) + { + if (args.ContainsFolder("specials")) + { + List