< Summary - Jellyfin

Information
Class: MediaBrowser.Controller.BaseItemManager.BaseItemManager
Assembly: MediaBrowser.Controller
File(s): /srv/git/jellyfin/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs
Line coverage
77%
Covered lines: 14
Uncovered lines: 4
Coverable lines: 18
Total lines: 73
Line coverage: 77.7%
Branch coverage
62%
Covered branches: 10
Total branches: 16
Branch coverage: 62.5%
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%
IsMetadataFetcherEnabled(...)62.5%9875%
IsImageFetcherEnabled(...)62.5%9875%

File(s)

/srv/git/jellyfin/MediaBrowser.Controller/BaseItemManager/BaseItemManager.cs

#LineLine coverage
 1using System;
 2using Jellyfin.Extensions;
 3using MediaBrowser.Controller.Channels;
 4using MediaBrowser.Controller.Configuration;
 5using MediaBrowser.Controller.Entities;
 6using MediaBrowser.Controller.Library;
 7using MediaBrowser.Model.Configuration;
 8
 9namespace MediaBrowser.Controller.BaseItemManager
 10{
 11    /// <inheritdoc />
 12    public class BaseItemManager : IBaseItemManager
 13    {
 14        private readonly IServerConfigurationManager _serverConfigurationManager;
 15
 16        /// <summary>
 17        /// Initializes a new instance of the <see cref="BaseItemManager"/> class.
 18        /// </summary>
 19        /// <param name="serverConfigurationManager">Instance of the <see cref="IServerConfigurationManager"/> interface
 20        public BaseItemManager(IServerConfigurationManager serverConfigurationManager)
 21        {
 3022            _serverConfigurationManager = serverConfigurationManager;
 3023        }
 24
 25        /// <inheritdoc />
 26        public bool IsMetadataFetcherEnabled(BaseItem baseItem, TypeOptions? libraryTypeOptions, string name)
 27        {
 428            if (baseItem is Channel)
 29            {
 30                // Hack alert.
 031                return true;
 32            }
 33
 434            if (baseItem.SourceType == SourceType.Channel)
 35            {
 36                // Hack alert.
 037                return !baseItem.EnableMediaSourceDisplay;
 38            }
 39
 440            if (libraryTypeOptions is not null)
 41            {
 242                return libraryTypeOptions.MetadataFetchers.Contains(name, StringComparison.OrdinalIgnoreCase);
 43            }
 44
 245            var itemConfig = _serverConfigurationManager.GetMetadataOptionsForType(baseItem.GetType().Name);
 246            return itemConfig is null || !itemConfig.DisabledMetadataFetchers.Contains(name, StringComparison.OrdinalIgn
 47        }
 48
 49        /// <inheritdoc />
 50        public bool IsImageFetcherEnabled(BaseItem baseItem, TypeOptions? libraryTypeOptions, string name)
 51        {
 452            if (baseItem is Channel)
 53            {
 54                // Hack alert.
 055                return true;
 56            }
 57
 458            if (baseItem.SourceType == SourceType.Channel)
 59            {
 60                // Hack alert.
 061                return !baseItem.EnableMediaSourceDisplay;
 62            }
 63
 464            if (libraryTypeOptions is not null)
 65            {
 266                return libraryTypeOptions.ImageFetchers.Contains(name, StringComparison.OrdinalIgnoreCase);
 67            }
 68
 269            var itemConfig = _serverConfigurationManager.GetMetadataOptionsForType(baseItem.GetType().Name);
 270            return itemConfig is null || !itemConfig.DisabledImageFetchers.Contains(name, StringComparison.OrdinalIgnore
 71        }
 72    }
 73}