From eec9e0482525c400e9dc7cb17bc000434adba105 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 13 Feb 2014 00:11:54 -0500 Subject: take photos into the core --- .../Library/Resolvers/PhotoResolver.cs | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs (limited to 'MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs') diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs new file mode 100644 index 000000000..35261dc3b --- /dev/null +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/PhotoResolver.cs @@ -0,0 +1,50 @@ +using MediaBrowser.Controller; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Library; +using System; +using System.Linq; + +namespace MediaBrowser.Server.Implementations.Library.Resolvers +{ + public class PhotoResolver : ItemResolver + { + private readonly IServerApplicationPaths _applicationPaths; + + /// + /// Initializes a new instance of the class. + /// + /// The application paths. + public PhotoResolver(IServerApplicationPaths applicationPaths) + { + _applicationPaths = applicationPaths; + } + + /// + /// Resolves the specified args. + /// + /// The args. + /// Trailer. + protected override Photo Resolve(ItemResolveArgs args) + { + // Must be an image file within a photo collection + if (!args.IsDirectory && IsImageFile(args.Path) && string.Equals(args.GetCollectionType(), "photos", StringComparison.OrdinalIgnoreCase)) + { + return new Photo + { + Path = args.Path + }; + } + + return null; + } + + protected static string[] ImageExtensions = { ".tiff", ".jpg", ".png", ".aiff" }; + protected bool IsImageFile(string path) + { + return !path.EndsWith("folder.jpg", StringComparison.OrdinalIgnoreCase) + && !path.EndsWith("backdrop.jpg", StringComparison.OrdinalIgnoreCase) + && ImageExtensions.Any(p => path.EndsWith(p, StringComparison.OrdinalIgnoreCase)); + } + + } +} -- cgit v1.2.3