< Summary - Jellyfin

Information
Class: MediaBrowser.Providers.Books.ComicProvider
Assembly: MediaBrowser.Providers
File(s): /srv/git/jellyfin/MediaBrowser.Providers/Books/ComicProvider.cs
Line coverage
13%
Covered lines: 2
Uncovered lines: 13
Coverable lines: 15
Total lines: 59
Line coverage: 13.3%
Branch coverage
0%
Covered branches: 0
Total branches: 8
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 6/11/2026 - 12:16:04 AM Line coverage: 13.3% (2/15) Branch coverage: 0% (0/8) Total lines: 59 6/11/2026 - 12:16:04 AM Line coverage: 13.3% (2/15) Branch coverage: 0% (0/8) Total lines: 59

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Name()100%210%
GetMetadata()0%2040%
HasChanged(...)0%2040%

File(s)

/srv/git/jellyfin/MediaBrowser.Providers/Books/ComicProvider.cs

#LineLine coverage
 1using System.Collections.Generic;
 2using System.Threading;
 3using System.Threading.Tasks;
 4using MediaBrowser.Controller.Entities;
 5using MediaBrowser.Controller.Providers;
 6
 7namespace MediaBrowser.Providers.Books;
 8
 9/// <summary>
 10/// Comic provider.
 11/// </summary>
 12public class ComicProvider : ILocalMetadataProvider<Book>, IHasItemChangeMonitor
 13{
 14    private readonly IEnumerable<IComicProvider> _comicProviders;
 15
 16    /// <summary>
 17    /// Initializes a new instance of the <see cref="ComicProvider"/> class.
 18    /// </summary>
 19    /// <param name="comicProviders">The list of comic providers.</param>
 20    public ComicProvider(IEnumerable<IComicProvider> comicProviders)
 21    {
 2122        _comicProviders = comicProviders;
 2123    }
 24
 25    /// <inheritdoc />
 026    public string Name => "Comic Provider";
 27
 28    /// <inheritdoc />
 29    public async Task<MetadataResult<Book>> GetMetadata(ItemInfo info, IDirectoryService directoryService, CancellationT
 30    {
 031        foreach (IComicProvider comicProvider in _comicProviders)
 32        {
 033            var metadata = await comicProvider.ReadMetadata(info, directoryService, cancellationToken).ConfigureAwait(fa
 34
 035            if (metadata.HasMetadata)
 36            {
 037                return metadata;
 38            }
 39        }
 40
 041        return new MetadataResult<Book> { HasMetadata = false };
 042    }
 43
 44    /// <inheritdoc />
 45    public bool HasChanged(BaseItem item, IDirectoryService directoryService)
 46    {
 047        foreach (IComicProvider iComicFileProvider in _comicProviders)
 48        {
 049            var fileChanged = iComicFileProvider.HasItemChanged(item);
 50
 051            if (fileChanged)
 52            {
 053                return fileChanged;
 54            }
 55        }
 56
 057        return false;
 058    }
 59}