mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Don't overwrite NFO images (#9452)
Co-authored-by: Cody Robibero <cody@robibe.ro>
This commit is contained in:
parent
b2461feffb
commit
39677525f3
@ -1,6 +1,7 @@
|
|||||||
#pragma warning disable CA1819, CS1591
|
#pragma warning disable CA1819, CS1591
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ namespace MediaBrowser.Controller.Providers
|
|||||||
|
|
||||||
public bool ReplaceAllImages { get; set; }
|
public bool ReplaceAllImages { get; set; }
|
||||||
|
|
||||||
public ImageType[] ReplaceImages { get; set; }
|
public IReadOnlyList<ImageType> ReplaceImages { get; set; }
|
||||||
|
|
||||||
public bool IsAutomated { get; set; }
|
public bool IsAutomated { get; set; }
|
||||||
|
|
||||||
|
@ -273,7 +273,7 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!refreshOptions.ReplaceAllImages &&
|
if (!refreshOptions.ReplaceAllImages &&
|
||||||
refreshOptions.ReplaceImages.Length == 0 &&
|
refreshOptions.ReplaceImages.Count == 0 &&
|
||||||
ContainsImages(item, provider.GetSupportedImages(item).ToList(), savedOptions, backdropLimit))
|
ContainsImages(item, provider.GetSupportedImages(item).ToList(), savedOptions, backdropLimit))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
@ -26,6 +26,8 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
where TItemType : BaseItem, IHasLookupInfo<TIdType>, new()
|
where TItemType : BaseItem, IHasLookupInfo<TIdType>, new()
|
||||||
where TIdType : ItemLookupInfo, new()
|
where TIdType : ItemLookupInfo, new()
|
||||||
{
|
{
|
||||||
|
private static readonly ImageType[] AllImageTypes = Enum.GetValues<ImageType>();
|
||||||
|
|
||||||
protected MetadataService(IServerConfigurationManager serverConfigurationManager, ILogger<MetadataService<TItemType, TIdType>> logger, IProviderManager providerManager, IFileSystem fileSystem, ILibraryManager libraryManager)
|
protected MetadataService(IServerConfigurationManager serverConfigurationManager, ILogger<MetadataService<TItemType, TIdType>> logger, IProviderManager providerManager, IFileSystem fileSystem, ILibraryManager libraryManager)
|
||||||
{
|
{
|
||||||
ServerConfigurationManager = serverConfigurationManager;
|
ServerConfigurationManager = serverConfigurationManager;
|
||||||
@ -672,6 +674,8 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
}
|
}
|
||||||
|
|
||||||
var hasLocalMetadata = false;
|
var hasLocalMetadata = false;
|
||||||
|
var replaceImages = AllImageTypes.ToList();
|
||||||
|
var localImagesFound = false;
|
||||||
|
|
||||||
foreach (var provider in providers.OfType<ILocalMetadataProvider<TItemType>>())
|
foreach (var provider in providers.OfType<ILocalMetadataProvider<TItemType>>())
|
||||||
{
|
{
|
||||||
@ -698,6 +702,10 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
|
|
||||||
await ProviderManager.SaveImage(item, remoteImage.Url, remoteImage.Type, null, cancellationToken).ConfigureAwait(false);
|
await ProviderManager.SaveImage(item, remoteImage.Url, remoteImage.Type, null, cancellationToken).ConfigureAwait(false);
|
||||||
refreshResult.UpdateType |= ItemUpdateType.ImageUpdate;
|
refreshResult.UpdateType |= ItemUpdateType.ImageUpdate;
|
||||||
|
|
||||||
|
// remove imagetype that has just been downloaded
|
||||||
|
replaceImages.Remove(remoteImage.Type);
|
||||||
|
localImagesFound = true;
|
||||||
}
|
}
|
||||||
catch (HttpRequestException ex)
|
catch (HttpRequestException ex)
|
||||||
{
|
{
|
||||||
@ -705,6 +713,12 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (localImagesFound)
|
||||||
|
{
|
||||||
|
options.ReplaceAllImages = false;
|
||||||
|
options.ReplaceImages = replaceImages;
|
||||||
|
}
|
||||||
|
|
||||||
if (imageService.MergeImages(item, localItem.Images))
|
if (imageService.MergeImages(item, localItem.Images))
|
||||||
{
|
{
|
||||||
refreshResult.UpdateType |= ItemUpdateType.ImageUpdate;
|
refreshResult.UpdateType |= ItemUpdateType.ImageUpdate;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user