< Summary - Jellyfin

Information
Class: MediaBrowser.XbmcMetadata.Providers.AlbumNfoProvider
Assembly: MediaBrowser.XbmcMetadata
File(s): /srv/git/jellyfin/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs
Line coverage
72%
Covered lines: 8
Uncovered lines: 3
Coverable lines: 11
Total lines: 63
Line coverage: 72.7%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
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%
Fetch(...)100%210%
GetXmlFile(...)100%210%

File(s)

/srv/git/jellyfin/MediaBrowser.XbmcMetadata/Providers/AlbumNfoProvider.cs

#LineLine coverage
 1using System.IO;
 2using System.Threading;
 3using MediaBrowser.Common.Configuration;
 4using MediaBrowser.Controller.Entities.Audio;
 5using MediaBrowser.Controller.Library;
 6using MediaBrowser.Controller.Providers;
 7using MediaBrowser.Model.IO;
 8using MediaBrowser.XbmcMetadata.Parsers;
 9using Microsoft.Extensions.Logging;
 10
 11namespace MediaBrowser.XbmcMetadata.Providers
 12{
 13    /// <summary>
 14    /// Nfo provider for albums.
 15    /// </summary>
 16    public class AlbumNfoProvider : BaseNfoProvider<MusicAlbum>
 17    {
 18        private readonly ILogger<AlbumNfoProvider> _logger;
 19        private readonly IConfigurationManager _config;
 20        private readonly IProviderManager _providerManager;
 21        private readonly IUserManager _userManager;
 22        private readonly IUserDataManager _userDataManager;
 23        private readonly IDirectoryService _directoryService;
 24
 25        /// <summary>
 26        /// Initializes a new instance of the <see cref="AlbumNfoProvider"/> class.
 27        /// </summary>
 28        /// <param name="logger">Instance of the <see cref="ILogger{AlbumNfoProvider}"/> interface.</param>
 29        /// <param name="fileSystem">Instance of the <see cref="IFileSystem"/> interface.</param>
 30        /// <param name="config">Instance of the <see cref="IConfigurationManager"/> interface.</param>
 31        /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
 32        /// <param name="userManager">Instance of the <see cref="IUserManager"/> interface.</param>
 33        /// <param name="userDataManager">Instance of the <see cref="IUserDataManager"/> interface.</param>
 34        /// <param name="directoryService">Instance of the <see cref="IDirectoryService"/> interface.</param>
 35        public AlbumNfoProvider(
 36            ILogger<AlbumNfoProvider> logger,
 37            IFileSystem fileSystem,
 38            IConfigurationManager config,
 39            IProviderManager providerManager,
 40            IUserManager userManager,
 41            IUserDataManager userDataManager,
 42            IDirectoryService directoryService)
 2243            : base(fileSystem)
 44        {
 2245            _logger = logger;
 2246            _config = config;
 2247            _providerManager = providerManager;
 2248            _userManager = userManager;
 2249            _userDataManager = userDataManager;
 2250            _directoryService = directoryService;
 2251        }
 52
 53        /// <inheritdoc />
 54        protected override void Fetch(MetadataResult<MusicAlbum> result, string path, CancellationToken cancellationToke
 55        {
 056            new BaseNfoParser<MusicAlbum>(_logger, _config, _providerManager, _userManager, _userDataManager, _directory
 057        }
 58
 59        /// <inheritdoc />
 60        protected override FileSystemMetadata? GetXmlFile(ItemInfo info, IDirectoryService directoryService)
 061            => directoryService.GetFile(Path.Combine(info.Path, "album.nfo"));
 62    }
 63}