2021-07-23 12:16:48 -04:00
|
|
|
#pragma warning disable CA1819, CS1591
|
2020-08-22 15:56:24 -04:00
|
|
|
|
2018-12-27 18:27:57 -05:00
|
|
|
using System;
|
2023-03-18 21:24:48 -04:00
|
|
|
using System.Collections.Generic;
|
2018-12-27 18:27:57 -05:00
|
|
|
using System.Linq;
|
2019-01-13 14:25:32 -05:00
|
|
|
using MediaBrowser.Model.Entities;
|
2018-12-27 18:27:57 -05:00
|
|
|
|
|
|
|
namespace MediaBrowser.Controller.Providers
|
|
|
|
{
|
|
|
|
public class ImageRefreshOptions
|
|
|
|
{
|
2021-07-23 12:16:48 -04:00
|
|
|
public ImageRefreshOptions(IDirectoryService directoryService)
|
|
|
|
{
|
|
|
|
ImageRefreshMode = MetadataRefreshMode.Default;
|
|
|
|
DirectoryService = directoryService;
|
|
|
|
|
|
|
|
ReplaceImages = Array.Empty<ImageType>();
|
|
|
|
IsAutomated = true;
|
|
|
|
}
|
|
|
|
|
2018-12-27 18:27:57 -05:00
|
|
|
public MetadataRefreshMode ImageRefreshMode { get; set; }
|
2020-06-15 17:43:52 -04:00
|
|
|
|
2018-12-27 18:27:57 -05:00
|
|
|
public IDirectoryService DirectoryService { get; private set; }
|
|
|
|
|
|
|
|
public bool ReplaceAllImages { get; set; }
|
|
|
|
|
2023-03-18 21:24:48 -04:00
|
|
|
public IReadOnlyList<ImageType> ReplaceImages { get; set; }
|
2020-06-15 17:43:52 -04:00
|
|
|
|
2018-12-27 18:27:57 -05:00
|
|
|
public bool IsAutomated { get; set; }
|
|
|
|
|
2021-12-31 11:05:02 -05:00
|
|
|
/// <summary>
|
2022-01-13 17:21:02 -05:00
|
|
|
/// Gets or sets a value indicating whether old metadata should be removed if it isn't replaced.
|
2021-12-31 11:05:02 -05:00
|
|
|
/// </summary>
|
2022-01-08 08:03:59 -05:00
|
|
|
public bool RemoveOldMetadata { get; set; }
|
2021-12-31 11:05:02 -05:00
|
|
|
|
2018-12-27 18:27:57 -05:00
|
|
|
public bool IsReplacingImage(ImageType type)
|
|
|
|
{
|
2022-06-14 13:11:37 -04:00
|
|
|
return ImageRefreshMode == MetadataRefreshMode.FullRefresh
|
|
|
|
&& (ReplaceAllImages || ReplaceImages.Contains(type));
|
2018-12-27 18:27:57 -05:00
|
|
|
}
|
|
|
|
}
|
2018-12-27 16:43:48 -05:00
|
|
|
}
|