< Summary - Jellyfin

Information
Class: MediaBrowser.XbmcMetadata.Savers.SeasonNfoSaver
Assembly: MediaBrowser.XbmcMetadata
File(s): /srv/git/jellyfin/MediaBrowser.XbmcMetadata/Savers/SeasonNfoSaver.cs
Line coverage
38%
Covered lines: 5
Uncovered lines: 8
Coverable lines: 13
Total lines: 85
Line coverage: 38.4%
Branch coverage
20%
Covered branches: 2
Total branches: 10
Branch coverage: 20%
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%
GetLocalSavePath(...)100%210%
GetRootElementName(...)100%210%
IsEnabledFor(...)25%12.1860%
WriteCustomElements(...)0%620%

File(s)

/srv/git/jellyfin/MediaBrowser.XbmcMetadata/Savers/SeasonNfoSaver.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using System.Globalization;
 3using System.IO;
 4using System.Xml;
 5using MediaBrowser.Controller.Configuration;
 6using MediaBrowser.Controller.Entities;
 7using MediaBrowser.Controller.Entities.TV;
 8using MediaBrowser.Controller.Library;
 9using MediaBrowser.Model.IO;
 10using Microsoft.Extensions.Logging;
 11
 12namespace MediaBrowser.XbmcMetadata.Savers
 13{
 14    /// <summary>
 15    /// Nfo saver for seasons.
 16    /// </summary>
 17    public class SeasonNfoSaver : BaseNfoSaver
 18    {
 19        /// <summary>
 20        /// Initializes a new instance of the <see cref="SeasonNfoSaver"/> class.
 21        /// </summary>
 22        /// <param name="fileSystem">The file system.</param>
 23        /// <param name="configurationManager">the server configuration manager.</param>
 24        /// <param name="libraryManager">The library manager.</param>
 25        /// <param name="userManager">The user manager.</param>
 26        /// <param name="userDataManager">The user data manager.</param>
 27        /// <param name="logger">The logger.</param>
 28        public SeasonNfoSaver(
 29            IFileSystem fileSystem,
 30            IServerConfigurationManager configurationManager,
 31            ILibraryManager libraryManager,
 32            IUserManager userManager,
 33            IUserDataManager userDataManager,
 34            ILogger<SeasonNfoSaver> logger)
 2235            : base(fileSystem, configurationManager, libraryManager, userManager, userDataManager, logger)
 36        {
 2237        }
 38
 39        /// <inheritdoc />
 40        protected override string GetLocalSavePath(BaseItem item)
 041            => Path.Combine(item.Path, "season.nfo");
 42
 43        /// <inheritdoc />
 44        protected override string GetRootElementName(BaseItem item)
 045            => "season";
 46
 47        /// <inheritdoc />
 48        public override bool IsEnabledFor(BaseItem item, ItemUpdateType updateType)
 49        {
 10450            if (!item.SupportsLocalMetadata)
 51            {
 052                return false;
 53            }
 54
 10455            if (item is not Season)
 56            {
 10457                return false;
 58            }
 59
 060            return updateType >= MinimumUpdateType || (updateType >= ItemUpdateType.MetadataImport && File.Exists(GetSav
 61        }
 62
 63        /// <inheritdoc />
 64        protected override void WriteCustomElements(BaseItem item, XmlWriter writer)
 65        {
 066            var season = (Season)item;
 67
 068            if (season.IndexNumber.HasValue)
 69            {
 070                writer.WriteElementString("seasonnumber", season.IndexNumber.Value.ToString(CultureInfo.InvariantCulture
 71            }
 072        }
 73
 74        /// <inheritdoc />
 75        protected override IEnumerable<string> GetTagsUsed(BaseItem item)
 76        {
 77            foreach (var tag in base.GetTagsUsed(item))
 78            {
 79                yield return tag;
 80            }
 81
 82            yield return "seasonnumber";
 83        }
 84    }
 85}