diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-08 15:02:35 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-02-08 15:02:35 -0500 |
| commit | d0f1a836216e87d6e03c7c3ebdbd78c0e7ddcf76 (patch) | |
| tree | 3c53dde326431758a0e93368495035ec5e8510ab /MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs | |
| parent | 12757d094b4998be8b56fc51e5199358d819d0da (diff) | |
added more image providers
Diffstat (limited to 'MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs | 65 |
1 files changed, 36 insertions, 29 deletions
diff --git a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs b/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs index 03346d0d2..df3b8b48f 100644 --- a/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs +++ b/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs @@ -2,14 +2,12 @@ using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; -using System; using System.Collections.Generic; using System.IO; -using System.Linq; namespace MediaBrowser.Providers.TV { - public class EpisodeLocalImageProvider : IImageFileProvider + public class EpisodeLocalLocalImageProvider : ILocalImageFileProvider { public string Name { @@ -23,37 +21,46 @@ namespace MediaBrowser.Providers.TV public List<LocalImageInfo> GetImages(IHasImages item) { + var file = GetFile(item); + + var list = new List<LocalImageInfo>(); + + if (file != null) + { + list.Add(new LocalImageInfo + { + FileInfo = file, + Type = ImageType.Primary + }); + } + + return list; + } + + private FileInfo GetFile(IHasImages item) + { var parentPath = Path.GetDirectoryName(item.Path); var nameWithoutExtension = Path.GetFileNameWithoutExtension(item.Path); var thumbName = nameWithoutExtension + "-thumb"; - return new DirectoryInfo(parentPath).EnumerateFiles("*", SearchOption.AllDirectories) - .Where(i => - { - if (BaseItem.SupportedImageExtensions.Contains(i.Extension)) - { - var currentNameWithoutExtension = Path.GetFileNameWithoutExtension(i.Name); - - if (string.Equals(nameWithoutExtension, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - - if (string.Equals(thumbName, currentNameWithoutExtension, StringComparison.OrdinalIgnoreCase)) - { - return true; - } - } - - return false; - }) - .Select(i => new LocalImageInfo - { - FileInfo = i, - Type = ImageType.Primary - }) - .ToList(); + var path = Path.Combine(parentPath, thumbName + ".jpg"); + var fileInfo = new FileInfo(path); + + if (fileInfo.Exists) + { + return fileInfo; + } + + path = Path.Combine(parentPath, "metadata", nameWithoutExtension + ".jpg"); + fileInfo = new FileInfo(path); + + if (fileInfo.Exists) + { + return fileInfo; + } + + return null; } } } |
