From 853ef727daa75f7508157400eba3a3b1af2f8c8a Mon Sep 17 00:00:00 2001
From: Joe Rogers <1337joe@gmail.com>
Date: Fri, 31 Dec 2021 17:05:02 +0100
Subject: Add refresh flag to remove existing data/images
Fixes #7040
---
Jellyfin.Api/Controllers/ItemLookupController.cs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
(limited to 'Jellyfin.Api/Controllers/ItemLookupController.cs')
diff --git a/Jellyfin.Api/Controllers/ItemLookupController.cs b/Jellyfin.Api/Controllers/ItemLookupController.cs
index 4161e43f6..9cc23dc4f 100644
--- a/Jellyfin.Api/Controllers/ItemLookupController.cs
+++ b/Jellyfin.Api/Controllers/ItemLookupController.cs
@@ -263,7 +263,8 @@ namespace Jellyfin.Api.Controllers
ImageRefreshMode = MetadataRefreshMode.FullRefresh,
ReplaceAllMetadata = true,
ReplaceAllImages = replaceAllImages,
- SearchResult = searchResult
+ SearchResult = searchResult,
+ IsIdentify = true
},
CancellationToken.None).ConfigureAwait(false);
--
cgit v1.2.3
From b43f46d5c939a0df6b2a445b4c4d51f79e6e8365 Mon Sep 17 00:00:00 2001
From: Joe Rogers <1337joe@gmail.com>
Date: Sat, 8 Jan 2022 14:03:59 +0100
Subject: Make identify flag describe purpose, not source
---
Jellyfin.Api/Controllers/ItemLookupController.cs | 2 +-
MediaBrowser.Controller/Providers/ImageRefreshOptions.cs | 4 ++--
MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs | 2 +-
MediaBrowser.Providers/Manager/MetadataService.cs | 6 ++----
4 files changed, 6 insertions(+), 8 deletions(-)
(limited to 'Jellyfin.Api/Controllers/ItemLookupController.cs')
diff --git a/Jellyfin.Api/Controllers/ItemLookupController.cs b/Jellyfin.Api/Controllers/ItemLookupController.cs
index 9cc23dc4f..c49f85616 100644
--- a/Jellyfin.Api/Controllers/ItemLookupController.cs
+++ b/Jellyfin.Api/Controllers/ItemLookupController.cs
@@ -264,7 +264,7 @@ namespace Jellyfin.Api.Controllers
ReplaceAllMetadata = true,
ReplaceAllImages = replaceAllImages,
SearchResult = searchResult,
- IsIdentify = true
+ RemoveOldMetadata = true
},
CancellationToken.None).ConfigureAwait(false);
diff --git a/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs b/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
index 9f40f8a2c..4073d07ad 100644
--- a/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/ImageRefreshOptions.cs
@@ -28,9 +28,9 @@ namespace MediaBrowser.Controller.Providers
public bool IsAutomated { get; set; }
///
- /// Gets or sets a value indicating whether the action is an identify.
+ /// Gets or sets a value indicating whether old metadata should be removed if it isn't be replaced.
///
- public bool IsIdentify { get; set; }
+ public bool RemoveOldMetadata { get; set; }
public bool IsReplacingImage(ImageType type)
{
diff --git a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
index 1fb18334a..a38bbaf69 100644
--- a/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
+++ b/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
@@ -30,7 +30,7 @@ namespace MediaBrowser.Controller.Providers
ReplaceAllImages = copy.ReplaceAllImages;
ReplaceImages = copy.ReplaceImages;
SearchResult = copy.SearchResult;
- IsIdentify = copy.IsIdentify;
+ RemoveOldMetadata = copy.RemoveOldMetadata;
if (copy.RefreshPaths != null && copy.RefreshPaths.Length > 0)
{
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs
index eee3d3bd1..a7238831b 100644
--- a/MediaBrowser.Providers/Manager/MetadataService.cs
+++ b/MediaBrowser.Providers/Manager/MetadataService.cs
@@ -96,8 +96,7 @@ namespace MediaBrowser.Providers.Manager
var allImageProviders = ((ProviderManager)ProviderManager).GetImageProviders(item, refreshOptions).ToList();
- // If replacing images with identify purge existing images.
- if (refreshOptions.IsIdentify && refreshOptions.ReplaceAllImages)
+ if (refreshOptions.RemoveOldMetadata && refreshOptions.ReplaceAllImages)
{
if (ImageProvider.RemoveImages(item))
{
@@ -755,9 +754,8 @@ namespace MediaBrowser.Providers.Manager
}
else
{
- if (!options.IsIdentify)
+ if (!options.RemoveOldMetadata)
{
- // Keep metadata for fields that the new metadata doesn't have populated
MergeData(metadata, temp, Array.Empty(), false, false);
}
--
cgit v1.2.3