diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-15 18:16:50 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-10-15 18:16:50 -0400 |
| commit | bb265f129d58f1c171b8dae4505d5a378af89bf6 (patch) | |
| tree | ff14429cd12304702ac1711b58e921fe63983395 | |
| parent | 6a3b31a1b059ca076405598d6eca98923c1e991a (diff) | |
support extrathumbs folder
| -rw-r--r-- | MediaBrowser.Providers/TV/EpisodeImageFromMediaLocationProvider.cs | 39 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs | 3 |
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); |
