aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-15 18:16:50 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-10-15 18:16:50 -0400
commitbb265f129d58f1c171b8dae4505d5a378af89bf6 (patch)
treeff14429cd12304702ac1711b58e921fe63983395
parent6a3b31a1b059ca076405598d6eca98923c1e991a (diff)
support extrathumbs folder
-rw-r--r--MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs39
-rw-r--r--MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs3
2 files changed, 29 insertions, 13 deletions
diff --git a/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs b/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
index 32dd0cf38..00e836936 100644
--- a/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
+++ b/MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs
@@ -29,7 +29,7 @@ namespace MediaBrowser.Providers.TV
return ItemUpdateType.ImageUpdate;
}
}
-
+
/// <summary>
/// Supportses the specified item.
/// </summary>
@@ -72,7 +72,7 @@ namespace MediaBrowser.Providers.TV
return BaseItem.SupportedImageExtensions;
}
}
-
+
/// <summary>
/// Fetches metadata and returns true or false indicating if any work that requires persistence was done
/// </summary>
@@ -104,7 +104,6 @@ namespace MediaBrowser.Providers.TV
/// Validates the primary image path still exists
/// </summary>
/// <param name="episode">The episode.</param>
- /// <param name="metadataFolderPath">The metadata folder path.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns>
private void ValidateImage(Episode episode)
{
@@ -130,18 +129,34 @@ namespace MediaBrowser.Providers.TV
/// <param name="episodeFileName">Name of the episode file.</param>
private void SetPrimaryImagePath(Episode item, Folder parent, string metadataFolder, string episodeFileName)
{
- // Look for the image file in the metadata folder, and if found, set PrimaryImagePath
- var imageFiles = new[] {
- Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".jpg")),
- Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".png"))
- };
+ foreach (var extension in BaseItem.SupportedImageExtensions)
+ {
+ var path = Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, extension));
- var file = parent.ResolveArgs.GetMetaFileByPath(imageFiles[0]) ??
- parent.ResolveArgs.GetMetaFileByPath(imageFiles[1]);
+ var file = parent.ResolveArgs.GetMetaFileByPath(path);
+
+ if (file != null)
+ {
+ item.PrimaryImagePath = file.FullName;
+ return;
+ }
+ }
- if (file != null)
+ var seasonFolder = Path.GetDirectoryName(item.Path);
+
+ foreach (var extension in BaseItem.SupportedImageExtensions)
{
- item.PrimaryImagePath = file.FullName;
+ var imageFilename = Path.GetFileNameWithoutExtension(episodeFileName) + "-thumb" + extension;
+
+ var path = Path.Combine(seasonFolder, imageFilename);
+
+ var file = parent.ResolveArgs.GetMetaFileByPath(path);
+
+ if (file != null)
+ {
+ item.PrimaryImagePath = file.FullName;
+ return;
+ }
}
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
index ededca314..ae4ae2fa9 100644
--- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
+++ b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
@@ -24,7 +24,8 @@ namespace MediaBrowser.Server.Implementations.Library
"ps3_update",
"ps3_vprm",
"adv_obj",
- "extrafanart"
+ "extrafanart",
+ "extrathumbs"
}.ToDictionary(i => i, StringComparer.OrdinalIgnoreCase);