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.Common/Kernel/BaseKernel.cs | 24 ------ .../MediaBrowser.Controller.csproj | 4 + .../Providers/Movies/MovieProviderFromXml.cs | 37 +++++++++ .../Movies/MovieSpecialFeaturesProvider.cs | 45 +++++++++++ .../Resolvers/Movies/BoxSetResolver.cs | 28 +++++++ .../Resolvers/Movies/MovieResolver.cs | 90 +++++++++++++++++++++ .../MediaBrowser.InternetProviders.csproj | 8 -- MediaBrowser.Model/Entities/Movies/BoxSet.cs | 7 ++ MediaBrowser.Model/Entities/Movies/Movie.cs | 31 ++++++++ MediaBrowser.Model/MediaBrowser.Model.csproj | 2 + MediaBrowser.Movies/Entities/BoxSet.cs | 8 -- MediaBrowser.Movies/Entities/Movie.cs | 32 -------- MediaBrowser.Movies/MediaBrowser.Movies.csproj | 81 ------------------- MediaBrowser.Movies/Plugin.cs | 15 ---- MediaBrowser.Movies/Properties/AssemblyInfo.cs | 36 --------- .../Providers/MovieProviderFromXml.cs | 38 --------- .../Providers/MovieSpecialFeaturesProvider.cs | 47 ----------- MediaBrowser.Movies/Resolvers/BoxSetResolver.cs | 29 ------- MediaBrowser.Movies/Resolvers/MovieResolver.cs | 91 ---------------------- MediaBrowser.sln | 30 +++---- 20 files changed, 256 insertions(+), 427 deletions(-) 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 create mode 100644 MediaBrowser.Model/Entities/Movies/BoxSet.cs create mode 100644 MediaBrowser.Model/Entities/Movies/Movie.cs delete mode 100644 MediaBrowser.Movies/Entities/BoxSet.cs delete mode 100644 MediaBrowser.Movies/Entities/Movie.cs delete mode 100644 MediaBrowser.Movies/MediaBrowser.Movies.csproj delete mode 100644 MediaBrowser.Movies/Plugin.cs delete mode 100644 MediaBrowser.Movies/Properties/AssemblyInfo.cs delete mode 100644 MediaBrowser.Movies/Providers/MovieProviderFromXml.cs delete mode 100644 MediaBrowser.Movies/Providers/MovieSpecialFeaturesProvider.cs delete mode 100644 MediaBrowser.Movies/Resolvers/BoxSetResolver.cs delete mode 100644 MediaBrowser.Movies/Resolvers/MovieResolver.cs diff --git a/MediaBrowser.Common/Kernel/BaseKernel.cs b/MediaBrowser.Common/Kernel/BaseKernel.cs index a4fa91976a..b409ba5827 100644 --- a/MediaBrowser.Common/Kernel/BaseKernel.cs +++ b/MediaBrowser.Common/Kernel/BaseKernel.cs @@ -150,10 +150,6 @@ namespace MediaBrowser.Common.Kernel /// protected virtual void OnComposablePartsLoaded() { - // This event handler will allow any plugin to reference another - AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(CurrentDomain_AssemblyResolve); - AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); - StartPlugins(); } @@ -215,26 +211,6 @@ namespace MediaBrowser.Common.Kernel }); } - /// - /// This snippet will allow any plugin to reference another - /// - Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) - { - AssemblyName assemblyName = new AssemblyName(args.Name); - - // Look for the .dll recursively within the plugins directory - string dll = Directory.GetFiles(ApplicationPaths.PluginsPath, "*.dll", SearchOption.AllDirectories) - .FirstOrDefault(f => Path.GetFileNameWithoutExtension(f) == assemblyName.Name); - - // If we found a matching assembly, load it now - if (!string.IsNullOrEmpty(dll)) - { - return Assembly.Load(File.ReadAllBytes(dll)); - } - - return null; - } - /// /// Disposes all resources currently in use. /// 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 diff --git a/MediaBrowser.Model/Entities/Movies/BoxSet.cs b/MediaBrowser.Model/Entities/Movies/BoxSet.cs new file mode 100644 index 0000000000..35097fd613 --- /dev/null +++ b/MediaBrowser.Model/Entities/Movies/BoxSet.cs @@ -0,0 +1,7 @@ + +namespace MediaBrowser.Model.Entities.Movies +{ + public class BoxSet : Folder + { + } +} diff --git a/MediaBrowser.Model/Entities/Movies/Movie.cs b/MediaBrowser.Model/Entities/Movies/Movie.cs new file mode 100644 index 0000000000..23203da94a --- /dev/null +++ b/MediaBrowser.Model/Entities/Movies/Movie.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace MediaBrowser.Model.Entities.Movies +{ + public class Movie : Video + { + public IEnumerable