< Summary - Jellyfin

Information
Class: MediaBrowser.Providers.Music.ArtistMetadataService
Assembly: MediaBrowser.Providers
File(s): /srv/git/jellyfin/MediaBrowser.Providers/Music/ArtistMetadataService.cs
Line coverage
20%
Covered lines: 2
Uncovered lines: 8
Coverable lines: 10
Total lines: 53
Line coverage: 20%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_EnableUpdatingGenresFromChildren()100%210%
GetChildrenForMetadataUpdates(...)0%620%

File(s)

/srv/git/jellyfin/MediaBrowser.Providers/Music/ArtistMetadataService.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using MediaBrowser.Controller.Configuration;
 3using MediaBrowser.Controller.Entities;
 4using MediaBrowser.Controller.Entities.Audio;
 5using MediaBrowser.Controller.IO;
 6using MediaBrowser.Controller.Library;
 7using MediaBrowser.Controller.Providers;
 8using MediaBrowser.Model.IO;
 9using MediaBrowser.Providers.Manager;
 10using Microsoft.Extensions.Logging;
 11
 12namespace MediaBrowser.Providers.Music;
 13
 14/// <summary>
 15/// Service to manage artist metadata.
 16/// </summary>
 17public class ArtistMetadataService : MetadataService<MusicArtist, ArtistInfo>
 18{
 19    /// <summary>
 20    /// Initializes a new instance of the <see cref="ArtistMetadataService"/> class.
 21    /// </summary>
 22    /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/>.</param>
 23    /// <param name="logger">Instance of the <see cref="ILogger"/> interface.</param>
 24    /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
 25    /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
 26    /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
 27    /// <param name="externalDataManager">Instance of the <see cref="IExternalDataManager"/> interface.</param>
 28    public ArtistMetadataService(
 29        IServerConfigurationManager serverConfigurationManager,
 30        ILogger<ArtistMetadataService> logger,
 31        IProviderManager providerManager,
 32        IFileSystem fileSystem,
 33        ILibraryManager libraryManager,
 34        IExternalDataManager externalDataManager)
 2135        : base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager, externalDataManager)
 36    {
 2137    }
 38
 39    /// <inheritdoc />
 040    protected override bool EnableUpdatingGenresFromChildren => true;
 41
 42    /// <inheritdoc />
 43    protected override IReadOnlyList<BaseItem> GetChildrenForMetadataUpdates(MusicArtist item)
 44    {
 045        return item.IsAccessedByName
 046            ? item.GetTaggedItems(new InternalItemsQuery
 047            {
 048                Recursive = true,
 049                IsFolder = false
 050            })
 051            : item.GetRecursiveChildren(i => i is IHasArtist && !i.IsFolder);
 52    }
 53}