aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-08 15:02:35 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-02-08 15:02:35 -0500
commitd0f1a836216e87d6e03c7c3ebdbd78c0e7ddcf76 (patch)
tree3c53dde326431758a0e93368495035ec5e8510ab /MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs
parent12757d094b4998be8b56fc51e5199358d819d0da (diff)
added more image providers
Diffstat (limited to 'MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs')
-rw-r--r--MediaBrowser.Providers/TV/EpisodeLocalImageProvider.cs65
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;
}
}
}