diff options
| author | Tim Eisele <Ghost_of_Stone@web.de> | 2025-05-05 05:21:44 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-04 21:21:44 -0600 |
| commit | d976f13970e034a24c1d0f69384501e31475a127 (patch) | |
| tree | 8b04bfba52b06c2c8f762beeaa3f7efebc7d6584 /MediaBrowser.Providers/Books/AudioBookMetadataService.cs | |
| parent | 0c3ba30de214eddcd6118c3b695b08e5482bf7ed (diff) | |
Recognize file changes and remove data on change (#13839)
Diffstat (limited to 'MediaBrowser.Providers/Books/AudioBookMetadataService.cs')
| -rw-r--r-- | MediaBrowser.Providers/Books/AudioBookMetadataService.cs | 80 |
1 files changed, 48 insertions, 32 deletions
diff --git a/MediaBrowser.Providers/Books/AudioBookMetadataService.cs b/MediaBrowser.Providers/Books/AudioBookMetadataService.cs index 96e1165b6..79cd33aa0 100644 --- a/MediaBrowser.Providers/Books/AudioBookMetadataService.cs +++ b/MediaBrowser.Providers/Books/AudioBookMetadataService.cs @@ -1,50 +1,66 @@ -#pragma warning disable CS1591 - using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.IO; using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.MediaSegments; using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Entities; using MediaBrowser.Model.IO; using MediaBrowser.Providers.Manager; using Microsoft.Extensions.Logging; -namespace MediaBrowser.Providers.Books +namespace MediaBrowser.Providers.Books; + +/// <summary> +/// Service to manage audiobook metadata. +/// </summary> +public class AudioBookMetadataService : MetadataService<AudioBook, SongInfo> { - public class AudioBookMetadataService : MetadataService<AudioBook, SongInfo> + /// <summary> + /// Initializes a new instance of the <see cref="AudioBookMetadataService"/> class. + /// </summary> + /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/>.</param> + /// <param name="logger">Instance of the <see cref="ILogger"/> interface.</param> + /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> 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="pathManager">Instance of the <see cref="IPathManager"/> interface.</param> + /// <param name="keyframeManager">Instance of the <see cref="IKeyframeManager"/> interface.</param> + /// <param name="mediaSegmentManager">Instance of the <see cref="IMediaSegmentManager"/> interface.</param> + public AudioBookMetadataService( + IServerConfigurationManager serverConfigurationManager, + ILogger<AudioBookMetadataService> logger, + IProviderManager providerManager, + IFileSystem fileSystem, + ILibraryManager libraryManager, + IPathManager pathManager, + IKeyframeManager keyframeManager, + IMediaSegmentManager mediaSegmentManager) + : base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, pathManager, keyframeManager, mediaSegmentManager) { - public AudioBookMetadataService( - IServerConfigurationManager serverConfigurationManager, - ILogger<AudioBookMetadataService> logger, - IProviderManager providerManager, - IFileSystem fileSystem, - ILibraryManager libraryManager) - : base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager) - { - } + } - /// <inheritdoc /> - protected override void MergeData( - MetadataResult<AudioBook> source, - MetadataResult<AudioBook> target, - MetadataField[] lockedFields, - bool replaceData, - bool mergeMetadataSettings) - { - base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings); + /// <inheritdoc /> + protected override void MergeData( + MetadataResult<AudioBook> source, + MetadataResult<AudioBook> target, + MetadataField[] lockedFields, + bool replaceData, + bool mergeMetadataSettings) + { + base.MergeData(source, target, lockedFields, replaceData, mergeMetadataSettings); - var sourceItem = source.Item; - var targetItem = target.Item; + var sourceItem = source.Item; + var targetItem = target.Item; - if (replaceData || targetItem.Artists.Count == 0) - { - targetItem.Artists = sourceItem.Artists; - } + if (replaceData || targetItem.Artists.Count == 0) + { + targetItem.Artists = sourceItem.Artists; + } - if (replaceData || string.IsNullOrEmpty(targetItem.Album)) - { - targetItem.Album = sourceItem.Album; - } + if (replaceData || string.IsNullOrEmpty(targetItem.Album)) + { + targetItem.Album = sourceItem.Album; } } } |
