using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; using System; using System.IO; namespace MediaBrowser.Server.Implementations.Library.Resolvers { /// /// Class LocalTrailerResolver /// public class LocalTrailerResolver : BaseVideoResolver { /// /// Resolves the specified args. /// /// The args. /// Trailer. protected override Trailer Resolve(ItemResolveArgs args) { // Trailers are not Children, therefore this can never happen if (args.Parent != null) { return null; } // If the file is within a trailers folder, see if the VideoResolver returns something if (!args.IsDirectory) { if (string.Equals(Path.GetFileName(Path.GetDirectoryName(args.Path)), BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase)) { return base.Resolve(args); } // Support xbmc local trailer convention, but only when looking for local trailers (hence the parent == null check) if (args.Parent == null && Path.GetFileNameWithoutExtension(args.Path).EndsWith(BaseItem.XbmcTrailerFileSuffix, StringComparison.OrdinalIgnoreCase)) { return base.Resolve(args); } } return null; } } }