From 2749509f001505d35863db4b53bb4bc6c3af6fa4 Mon Sep 17 00:00:00 2001 From: cvium Date: Tue, 28 Dec 2021 00:37:40 +0100 Subject: Use dedicated resolvers for extras --- .../Library/Resolvers/ExtraResolver.cs | 93 ++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Emby.Server.Implementations/Library/Resolvers/ExtraResolver.cs (limited to 'Emby.Server.Implementations/Library/Resolvers/ExtraResolver.cs') diff --git a/Emby.Server.Implementations/Library/Resolvers/ExtraResolver.cs b/Emby.Server.Implementations/Library/Resolvers/ExtraResolver.cs new file mode 100644 index 000000000..3d06ceb5e --- /dev/null +++ b/Emby.Server.Implementations/Library/Resolvers/ExtraResolver.cs @@ -0,0 +1,93 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using Emby.Naming.Common; +using Emby.Naming.Video; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Resolvers; +using MediaBrowser.Model.Entities; +using static Emby.Naming.Video.ExtraRuleResolver; + +namespace Emby.Server.Implementations.Library.Resolvers +{ + /// + /// Resolves a Path into a Video or Video subclass. + /// + internal class ExtraResolver + { + private readonly NamingOptions _namingOptions; + private readonly IItemResolver[] _trailerResolvers; + private readonly IItemResolver[] _videoResolvers; + + /// + /// Initializes an new instance of the class. + /// + /// An instance of . + public ExtraResolver(NamingOptions namingOptions) + { + _namingOptions = namingOptions; + _trailerResolvers = new IItemResolver[] { new GenericVideoResolver(namingOptions) }; + _videoResolvers = new IItemResolver[] { new GenericVideoResolver