diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Providers/ImageSaver.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Providers/ImageSaver.cs | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs index 4a3e7e7a6..cbdec63c8 100644 --- a/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs +++ b/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs @@ -242,16 +242,9 @@ namespace MediaBrowser.Server.Implementations.Providers if (saveLocally) { - if (!(item is Episode)) + if (item.IsInMixedFolder && !(item is Episode)) { - var video = item as Video; - - if (video != null && video.IsInMixedFolder) - { - var folder = Path.GetDirectoryName(video.Path); - - path = Path.Combine(folder, Path.GetFileNameWithoutExtension(video.Path) + "-" + filename); - } + path = GetSavePathForItemInMixedFolder(item, type, filename, extension); } if (string.IsNullOrEmpty(path) && !string.IsNullOrEmpty(item.MetaLocation)) @@ -260,6 +253,7 @@ namespace MediaBrowser.Server.Implementations.Providers } } + // None of the save local conditions passed, so store it in our internal folders if (string.IsNullOrEmpty(path)) { path = _remoteImageCache.GetResourcePath(item.GetType().FullName + item.Id, filename); @@ -274,5 +268,16 @@ namespace MediaBrowser.Server.Implementations.Providers return path; } + + private string GetSavePathForItemInMixedFolder(BaseItem item, ImageType type, string imageFilename, string extension) + { + if (type == ImageType.Primary) + { + return Path.ChangeExtension(item.Path, extension); + } + var folder = Path.GetDirectoryName(item.Path); + + return Path.Combine(folder, Path.GetFileNameWithoutExtension(item.Path) + "-" + imageFilename); + } } } |
