< Summary - Jellyfin

Information
Class: MediaBrowser.XbmcMetadata.Parsers.SeriesNfoSeasonParser
Assembly: MediaBrowser.XbmcMetadata
File(s): /srv/git/jellyfin/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoSeasonParser.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 11
Coverable lines: 11
Total lines: 60
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 10
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%210%
get_SupportsUrlAfterClosingXmlTag()100%210%
FetchDataFromXmlNode(...)0%110100%

File(s)

/srv/git/jellyfin/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoSeasonParser.cs

#LineLine coverage
 1using System.Globalization;
 2using System.Xml;
 3using MediaBrowser.Common.Configuration;
 4using MediaBrowser.Controller.Entities.TV;
 5using MediaBrowser.Controller.Library;
 6using MediaBrowser.Controller.Providers;
 7using Microsoft.Extensions.Logging;
 8
 9namespace MediaBrowser.XbmcMetadata.Parsers
 10{
 11    /// <summary>
 12    /// NFO parser for seasons based on series NFO.
 13    /// </summary>
 14    public class SeriesNfoSeasonParser : BaseNfoParser<Season>
 15    {
 16        /// <summary>
 17        /// Initializes a new instance of the <see cref="SeriesNfoSeasonParser"/> class.
 18        /// </summary>
 19        /// <param name="logger">Instance of the <see cref="ILogger"/> interface.</param>
 20        /// <param name="config">Instance of the <see cref="IConfigurationManager"/> interface.</param>
 21        /// <param name="providerManager">Instance of the <see cref="IProviderManager"/> interface.</param>
 22        /// <param name="userManager">Instance of the <see cref="IUserManager"/> interface.</param>
 23        /// <param name="userDataManager">Instance of the <see cref="IUserDataManager"/> interface.</param>
 24        /// <param name="directoryService">Instance of the <see cref="IDirectoryService"/> interface.</param>
 25        public SeriesNfoSeasonParser(
 26            ILogger logger,
 27            IConfigurationManager config,
 28            IProviderManager providerManager,
 29            IUserManager userManager,
 30            IUserDataManager userDataManager,
 31            IDirectoryService directoryService)
 032            : base(logger, config, providerManager, userManager, userDataManager, directoryService)
 33        {
 034        }
 35
 36        /// <inheritdoc />
 037        protected override bool SupportsUrlAfterClosingXmlTag => true;
 38
 39        /// <inheritdoc />
 40        protected override void FetchDataFromXmlNode(XmlReader reader, MetadataResult<Season> itemResult)
 41        {
 042            var item = itemResult.Item;
 43
 044            if (reader.Name == "namedseason")
 45            {
 046                var parsed = int.TryParse(reader.GetAttribute("number"), NumberStyles.Integer, CultureInfo.InvariantCult
 047                var name = reader.ReadElementContentAsString();
 48
 049                if (parsed && !string.IsNullOrWhiteSpace(name) && item.IndexNumber.HasValue && seasonNumber == item.Inde
 50                {
 051                    item.Name = name;
 52                }
 53            }
 54            else
 55            {
 056                reader.Skip();
 57            }
 058        }
 59    }
 60}