Add refresh flag to remove existing data/images

Fixes #7040
This commit is contained in:
Joe Rogers 2021-12-31 17:05:02 +01:00
parent 76e640b0b9
commit 853ef727da
No known key found for this signature in database
GPG key ID: 0074AD57B8FDBBB4
3 changed files with 13 additions and 3 deletions

View file

@ -263,7 +263,8 @@ namespace Jellyfin.Api.Controllers
ImageRefreshMode = MetadataRefreshMode.FullRefresh, ImageRefreshMode = MetadataRefreshMode.FullRefresh,
ReplaceAllMetadata = true, ReplaceAllMetadata = true,
ReplaceAllImages = replaceAllImages, ReplaceAllImages = replaceAllImages,
SearchResult = searchResult SearchResult = searchResult,
IsIdentify = true
}, },
CancellationToken.None).ConfigureAwait(false); CancellationToken.None).ConfigureAwait(false);

View file

@ -27,6 +27,11 @@ namespace MediaBrowser.Controller.Providers
public bool IsAutomated { get; set; } public bool IsAutomated { get; set; }
/// <summary>
/// Gets or sets a value indicating whether the action is an identify.
/// </summary>
public bool IsIdentify { get; set; }
public bool IsReplacingImage(ImageType type) public bool IsReplacingImage(ImageType type)
{ {
return ImageRefreshMode == MetadataRefreshMode.FullRefresh && return ImageRefreshMode == MetadataRefreshMode.FullRefresh &&

View file

@ -749,8 +749,12 @@ namespace MediaBrowser.Providers.Manager
} }
else else
{ {
// TODO: If the new metadata from above has some blank data, this can cause old data to get filled into those empty fields if (!options.IsIdentify)
MergeData(metadata, temp, Array.Empty<MetadataField>(), false, false); {
// Keep metadata for fields that the new metadata doesn't have populated
MergeData(metadata, temp, Array.Empty<MetadataField>(), false, false);
}
MergeData(temp, metadata, item.LockedFields, true, false); MergeData(temp, metadata, item.LockedFields, true, false);
} }
} }