mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Only remove images in metadata folder by default (#12631)
This commit is contained in:
parent
6b646e24ea
commit
90a00e1293
@ -68,18 +68,24 @@ namespace MediaBrowser.Providers.Manager
|
|||||||
/// Removes all existing images from the provided item.
|
/// Removes all existing images from the provided item.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="item">The <see cref="BaseItem"/> to remove images from.</param>
|
/// <param name="item">The <see cref="BaseItem"/> to remove images from.</param>
|
||||||
|
/// <param name="canDeleteLocal">Whether removing images outside metadata folder is allowed.</param>
|
||||||
/// <returns><c>true</c> if changes were made to the item; otherwise <c>false</c>.</returns>
|
/// <returns><c>true</c> if changes were made to the item; otherwise <c>false</c>.</returns>
|
||||||
public bool RemoveImages(BaseItem item)
|
public bool RemoveImages(BaseItem item, bool canDeleteLocal = false)
|
||||||
{
|
{
|
||||||
var singular = new List<ItemImageInfo>();
|
var singular = new List<ItemImageInfo>();
|
||||||
|
var itemMetadataPath = item.GetInternalMetadataPath();
|
||||||
for (var i = 0; i < _singularImages.Length; i++)
|
for (var i = 0; i < _singularImages.Length; i++)
|
||||||
{
|
{
|
||||||
var currentImage = item.GetImageInfo(_singularImages[i], 0);
|
var currentImage = item.GetImageInfo(_singularImages[i], 0);
|
||||||
if (currentImage is not null)
|
if (currentImage is not null)
|
||||||
|
{
|
||||||
|
var imageInMetadataFolder = currentImage.Path.StartsWith(itemMetadataPath, StringComparison.OrdinalIgnoreCase);
|
||||||
|
if (imageInMetadataFolder || canDeleteLocal || item.IsSaveLocalMetadataEnabled())
|
||||||
{
|
{
|
||||||
singular.Add(currentImage);
|
singular.Add(currentImage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
singular.AddRange(item.GetImages(ImageType.Backdrop));
|
singular.AddRange(item.GetImages(ImageType.Backdrop));
|
||||||
PruneImages(item, singular);
|
PruneImages(item, singular);
|
||||||
|
@ -580,6 +580,7 @@ namespace Jellyfin.Providers.Tests.Manager
|
|||||||
CallBase = true
|
CallBase = true
|
||||||
};
|
};
|
||||||
item.Setup(m => m.IsSaveLocalMetadataEnabled()).Returns(false);
|
item.Setup(m => m.IsSaveLocalMetadataEnabled()).Returns(false);
|
||||||
|
item.Setup(m => m.GetInternalMetadataPath()).Returns(string.Empty);
|
||||||
|
|
||||||
var path = validPaths ? _testDataImagePath.Format : "invalid path {0}";
|
var path = validPaths ? _testDataImagePath.Format : "invalid path {0}";
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < count; i++)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user