diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-29 23:04:50 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-06-29 23:04:50 -0400 |
| commit | 3d47b495a96fce84c03d9f3177dc6dbc8a4afa3c (patch) | |
| tree | 9d03bc06b30fec5695bb7a89094387ecbdd8e3e9 /MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs | |
| parent | 1a5a75854bd3ec4cdd771c9afdaefe0acb62c03c (diff) | |
fixes #795 - Support reading Xbmc nfo's
Diffstat (limited to 'MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs')
| -rw-r--r-- | MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs new file mode 100644 index 000000000..3f84df462 --- /dev/null +++ b/MediaBrowser.LocalMetadata/Images/ImagesByNameImageProvider.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using System.IO; +using MediaBrowser.Common.IO; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Providers; + +namespace MediaBrowser.LocalMetadata.Images +{ + public class ImagesByNameImageProvider : ILocalImageFileProvider, IHasOrder + { + private readonly IFileSystem _fileSystem; + private readonly IServerConfigurationManager _config; + + public ImagesByNameImageProvider(IFileSystem fileSystem, IServerConfigurationManager config) + { + _fileSystem = fileSystem; + _config = config; + } + + public string Name + { + get { return "Images By Name"; } + } + + public bool Supports(IHasImages item) + { + return item is CollectionFolder; + } + + public int Order + { + get + { + // Run after LocalImageProvider, and after CollectionFolderImageProvider + return 2; + } + } + + public List<LocalImageInfo> GetImages(IHasImages item, IDirectoryService directoryService) + { + var name = _fileSystem.GetValidFilename(item.Name); + + var path = Path.Combine(_config.ApplicationPaths.GeneralPath, name); + + try + { + return new LocalImageProvider().GetImages(item, path, directoryService); + } + catch (DirectoryNotFoundException) + { + return new List<LocalImageInfo>(); + } + } + } +} |
