aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Manager
diff options
context:
space:
mode:
authorJoe Rogers <1337joe@gmail.com>2021-11-01 02:38:12 +0100
committerJoe Rogers <1337joe@gmail.com>2021-11-01 11:53:31 +0100
commitb478b115e3194aa383f86d7d6fbf07e0f2bfadea (patch)
treeca9e0aa9ae8874df7f6d33dd082b442e1cce5dfc /MediaBrowser.Providers/Manager
parent0fbd8d85c825b2871ea38e5c7c1d61baca0772c9 (diff)
Refactor to validate all images up front
Diffstat (limited to 'MediaBrowser.Providers/Manager')
-rw-r--r--MediaBrowser.Providers/Manager/ItemImageProvider.cs29
1 files changed, 3 insertions, 26 deletions
diff --git a/MediaBrowser.Providers/Manager/ItemImageProvider.cs b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
index c80407bcb4..f60fce11b8 100644
--- a/MediaBrowser.Providers/Manager/ItemImageProvider.cs
+++ b/MediaBrowser.Providers/Manager/ItemImageProvider.cs
@@ -395,7 +395,7 @@ namespace MediaBrowser.Providers.Manager
/// <returns><c>true</c> if changes were made to the item; otherwise <c>false</c>.</returns>
public bool MergeImages(BaseItem item, IReadOnlyList<LocalImageInfo> images)
{
- var changed = false;
+ var changed = item.ValidateImages(new DirectoryService(_fileSystem));
for (var i = 0; i < _singularImages.Length; i++)
{
@@ -431,18 +431,6 @@ namespace MediaBrowser.Providers.Manager
currentImage.DateModified = newDateModified;
}
}
- else
- {
- var existing = item.GetImageInfo(type, 0);
- if (existing != null)
- {
- if (existing.IsLocalFile && !File.Exists(existing.Path))
- {
- item.RemoveImage(existing);
- changed = true;
- }
- }
- }
}
if (UpdateMultiImages(item, images, ImageType.Backdrop))
@@ -450,12 +438,9 @@ namespace MediaBrowser.Providers.Manager
changed = true;
}
- if (item is IHasScreenshots)
+ if (item is IHasScreenshots && UpdateMultiImages(item, images, ImageType.Screenshot))
{
- if (UpdateMultiImages(item, images, ImageType.Screenshot))
- {
- changed = true;
- }
+ changed = true;
}
return changed;
@@ -480,14 +465,6 @@ namespace MediaBrowser.Providers.Manager
{
var changed = false;
- var deletedImages = item.GetImages(type).Where(i => i.IsLocalFile && !File.Exists(i.Path)).ToList();
-
- if (deletedImages.Count > 0)
- {
- item.RemoveImages(deletedImages);
- changed = true;
- }
-
var newImageFileInfos = images
.Where(i => i.Type == type)
.Select(i => i.FileInfo)