Always set update action when item does not exist (#14304)

This commit is contained in:
JPVenson 2025-06-16 00:19:57 +03:00 committed by GitHub
parent aa05185917
commit 4cd0a2ed8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 171 additions and 55 deletions

View File

@ -14,6 +14,7 @@ using System.Reflection;
using System.Text; using System.Text;
using System.Text.Json; using System.Text.Json;
using System.Threading; using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data.Enums; using Jellyfin.Data.Enums;
using Jellyfin.Database.Implementations; using Jellyfin.Database.Implementations;
using Jellyfin.Database.Implementations.Entities; using Jellyfin.Database.Implementations.Entities;
@ -2353,4 +2354,14 @@ public sealed class BaseItemRepository
return baseQuery; return baseQuery;
} }
/// <inheritdoc/>
public async Task<bool> ItemExistsAsync(Guid id)
{
var dbContext = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
await using (dbContext.ConfigureAwait(false))
{
return await dbContext.BaseItems.AnyAsync(f => f.Id == id).ConfigureAwait(false);
}
}
} }

View File

@ -5,6 +5,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading; using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Data.Enums; using Jellyfin.Data.Enums;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Dto;
@ -102,4 +103,11 @@ public interface IItemRepository
IReadOnlyList<string> GetGenreNames(); IReadOnlyList<string> GetGenreNames();
IReadOnlyList<string> GetAllArtistNames(); IReadOnlyList<string> GetAllArtistNames();
/// <summary>
/// Checks if an item has been persisted to the database.
/// </summary>
/// <param name="id">The id to check.</param>
/// <returns>True if the item exists, otherwise false.</returns>
Task<bool> ItemExistsAsync(Guid id);
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class AudioBookMetadataService : MetadataService<AudioBook, SongInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AudioBookMetadataService( public AudioBookMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<AudioBookMetadataService> logger, ILogger<AudioBookMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class BookMetadataService : MetadataService<Book, BookInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public BookMetadataService( public BookMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<BookMetadataService> logger, ILogger<BookMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -5,6 +5,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -27,14 +28,16 @@ public class BoxSetMetadataService : MetadataService<BoxSet, BoxSetInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public BoxSetMetadataService( public BoxSetMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<BoxSetMetadataService> logger, ILogger<BoxSetMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class ChannelMetadataService : MetadataService<Channel, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public ChannelMetadataService( public ChannelMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<ChannelMetadataService> logger, ILogger<ChannelMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class CollectionFolderMetadataService : MetadataService<CollectionFolder,
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public CollectionFolderMetadataService( public CollectionFolderMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<CollectionFolderMetadataService> logger, ILogger<CollectionFolderMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class FolderMetadataService : MetadataService<Folder, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public FolderMetadataService( public FolderMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<FolderMetadataService> logger, ILogger<FolderMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class UserViewMetadataService : MetadataService<UserView, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public UserViewMetadataService( public UserViewMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<UserViewMetadataService> logger, ILogger<UserViewMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class GenreMetadataService : MetadataService<Genre, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public GenreMetadataService( public GenreMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<GenreMetadataService> logger, ILogger<GenreMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.LiveTv; using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class LiveTvMetadataService : MetadataService<LiveTvChannel, ItemLookupIn
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public LiveTvMetadataService( public LiveTvMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<LiveTvMetadataService> logger, ILogger<LiveTvMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -377,6 +377,10 @@ namespace MediaBrowser.Providers.Manager
{ {
// Nothing to do, already gone // Nothing to do, already gone
} }
catch (DirectoryNotFoundException)
{
// Nothing to do, already gone
}
catch (UnauthorizedAccessException ex) catch (UnauthorizedAccessException ex)
{ {
_logger.LogWarning(ex, "Unable to delete {Image}", image.Path); _logger.LogWarning(ex, "Unable to delete {Image}", image.Path);

View File

@ -14,6 +14,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
@ -33,7 +34,8 @@ namespace MediaBrowser.Providers.Manager
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
IItemRepository itemRepository)
{ {
ServerConfigurationManager = serverConfigurationManager; ServerConfigurationManager = serverConfigurationManager;
Logger = logger; Logger = logger;
@ -41,6 +43,7 @@ namespace MediaBrowser.Providers.Manager
FileSystem = fileSystem; FileSystem = fileSystem;
LibraryManager = libraryManager; LibraryManager = libraryManager;
ExternalDataManager = externalDataManager; ExternalDataManager = externalDataManager;
ItemRepository = itemRepository;
ImageProvider = new ItemImageProvider(Logger, ProviderManager, FileSystem); ImageProvider = new ItemImageProvider(Logger, ProviderManager, FileSystem);
} }
@ -58,6 +61,8 @@ namespace MediaBrowser.Providers.Manager
protected IExternalDataManager ExternalDataManager { get; } protected IExternalDataManager ExternalDataManager { get; }
protected IItemRepository ItemRepository { get; }
protected virtual bool EnableUpdatingPremiereDateFromChildren => false; protected virtual bool EnableUpdatingPremiereDateFromChildren => false;
protected virtual bool EnableUpdatingGenresFromChildren => false; protected virtual bool EnableUpdatingGenresFromChildren => false;
@ -85,6 +90,7 @@ namespace MediaBrowser.Providers.Manager
{ {
var itemOfType = (TItemType)item; var itemOfType = (TItemType)item;
var updateType = ItemUpdateType.None; var updateType = ItemUpdateType.None;
var libraryOptions = LibraryManager.GetLibraryOptions(item); var libraryOptions = LibraryManager.GetLibraryOptions(item);
var isFirstRefresh = item.DateLastRefreshed.Date == DateTime.MinValue.Date; var isFirstRefresh = item.DateLastRefreshed.Date == DateTime.MinValue.Date;
var hasRefreshedMetadata = true; var hasRefreshedMetadata = true;
@ -141,7 +147,8 @@ namespace MediaBrowser.Providers.Manager
Item = itemOfType Item = itemOfType
}; };
var beforeSaveResult = BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh || refreshOptions.ForceSave, updateType); var beforeSaveResult = await BeforeSave(itemOfType, isFirstRefresh || refreshOptions.ReplaceAllMetadata || refreshOptions.MetadataRefreshMode == MetadataRefreshMode.FullRefresh || requiresRefresh || refreshOptions.ForceSave, updateType)
.ConfigureAwait(false);
updateType |= beforeSaveResult; updateType |= beforeSaveResult;
updateType = await SaveInternal(item, refreshOptions, updateType, isFirstRefresh, requiresRefresh, metadataResult, cancellationToken).ConfigureAwait(false); updateType = await SaveInternal(item, refreshOptions, updateType, isFirstRefresh, requiresRefresh, metadataResult, cancellationToken).ConfigureAwait(false);
@ -284,12 +291,20 @@ namespace MediaBrowser.Providers.Manager
/// <param name="isFullRefresh">if set to <c>true</c> [is full refresh].</param> /// <param name="isFullRefresh">if set to <c>true</c> [is full refresh].</param>
/// <param name="currentUpdateType">Type of the current update.</param> /// <param name="currentUpdateType">Type of the current update.</param>
/// <returns>ItemUpdateType.</returns> /// <returns>ItemUpdateType.</returns>
private ItemUpdateType BeforeSave(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType) private async Task<ItemUpdateType> BeforeSave(TItemType item, bool isFullRefresh, ItemUpdateType currentUpdateType)
{ {
var updateType = BeforeSaveInternal(item, isFullRefresh, currentUpdateType); var updateType = BeforeSaveInternal(item, isFullRefresh, currentUpdateType);
updateType |= item.OnMetadataChanged(); updateType |= item.OnMetadataChanged();
if (updateType == ItemUpdateType.None)
{
if (!await ItemRepository.ItemExistsAsync(item.Id).ConfigureAwait(false))
{
return ItemUpdateType.MetadataImport;
}
}
return updateType; return updateType;
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -24,14 +25,16 @@ public class MovieMetadataService : MetadataService<Movie, MovieInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MovieMetadataService( public MovieMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<MovieMetadataService> logger, ILogger<MovieMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -3,6 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -25,14 +26,16 @@ public class TrailerMetadataService : MetadataService<Trailer, TrailerInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public TrailerMetadataService( public TrailerMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<TrailerMetadataService> logger, ILogger<TrailerMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -9,6 +9,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -31,14 +32,16 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AlbumMetadataService( public AlbumMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<AlbumMetadataService> logger, ILogger<AlbumMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -25,14 +26,16 @@ public class ArtistMetadataService : MetadataService<MusicArtist, ArtistInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public ArtistMetadataService( public ArtistMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<ArtistMetadataService> logger, ILogger<ArtistMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -26,14 +27,16 @@ public class AudioMetadataService : MetadataService<Audio, SongInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public AudioMetadataService( public AudioMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<AudioMetadataService> logger, ILogger<AudioMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -26,14 +27,16 @@ public class MusicVideoMetadataService : MetadataService<MusicVideo, MusicVideoI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MusicVideoMetadataService( public MusicVideoMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<MusicVideoMetadataService> logger, ILogger<MusicVideoMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Audio;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class MusicGenreMetadataService : MetadataService<MusicGenre, ItemLookupI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public MusicGenreMetadataService( public MusicGenreMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<MusicGenreMetadataService> logger, ILogger<MusicGenreMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PersonMetadataService : MetadataService<Person, PersonLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PersonMetadataService( public PersonMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<PersonMetadataService> logger, ILogger<PersonMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PhotoAlbumMetadataService : MetadataService<PhotoAlbum, ItemLookupI
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PhotoAlbumMetadataService( public PhotoAlbumMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<PhotoAlbumMetadataService> logger, ILogger<PhotoAlbumMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class PhotoMetadataService : MetadataService<Photo, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PhotoMetadataService( public PhotoMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<PhotoMetadataService> logger, ILogger<PhotoMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Playlists; using MediaBrowser.Controller.Playlists;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
@ -27,14 +28,16 @@ public class PlaylistMetadataService : MetadataService<Playlist, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public PlaylistMetadataService( public PlaylistMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<PlaylistMetadataService> logger, ILogger<PlaylistMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class StudioMetadataService : MetadataService<Studio, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public StudioMetadataService( public StudioMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<StudioMetadataService> logger, ILogger<StudioMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }

View File

@ -3,6 +3,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -25,14 +26,16 @@ public class EpisodeMetadataService : MetadataService<Episode, EpisodeInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public EpisodeMetadataService( public EpisodeMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<EpisodeMetadataService> logger, ILogger<EpisodeMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -6,6 +6,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -28,14 +29,16 @@ public class SeasonMetadataService : MetadataService<Season, SeasonInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public SeasonMetadataService( public SeasonMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<SeasonMetadataService> logger, ILogger<SeasonMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -10,6 +10,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Globalization;
@ -36,6 +37,7 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="localizationManager">Instance of the <see cref="ILocalizationManager"/> interface.</param> /// <param name="localizationManager">Instance of the <see cref="ILocalizationManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public SeriesMetadataService( public SeriesMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<SeriesMetadataService> logger, ILogger<SeriesMetadataService> logger,
@ -43,8 +45,9 @@ public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
ILocalizationManager localizationManager, ILocalizationManager localizationManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
_localizationManager = localizationManager; _localizationManager = localizationManager;
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class VideoMetadataService : MetadataService<Video, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public VideoMetadataService( public VideoMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<VideoMetadataService> logger, ILogger<VideoMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }

View File

@ -2,6 +2,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.IO; using MediaBrowser.Controller.IO;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Providers.Manager; using MediaBrowser.Providers.Manager;
@ -23,14 +24,16 @@ public class YearMetadataService : MetadataService<Year, ItemLookupInfo>
/// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param> /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
/// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param> /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
/// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param> /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
/// <param name="itemRepository">Instance of the <see cref="IItemRepository"/> interface.</param>
public YearMetadataService( public YearMetadataService(
IServerConfigurationManager serverConfigurationManager, IServerConfigurationManager serverConfigurationManager,
ILogger<YearMetadataService> logger, ILogger<YearMetadataService> logger,
IProviderManager providerManager, IProviderManager providerManager,
IFileSystem fileSystem, IFileSystem fileSystem,
ILibraryManager libraryManager, ILibraryManager libraryManager,
IExternalDataManager externalDataManager) IExternalDataManager externalDataManager,
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager) IItemRepository itemRepository)
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager, itemRepository)
{ {
} }
} }