aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Providers/ImageSaver.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Providers/ImageSaver.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Providers/ImageSaver.cs23
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);
+ }
}
}