< Summary - Jellyfin

Information
Class: Emby.Server.Implementations.Images.MusicGenreImageProvider
Assembly: Emby.Server.Implementations
File(s): /srv/git/jellyfin/Emby.Server.Implementations/Images/MusicGenreImageProvider.cs
Line coverage
16%
Covered lines: 3
Uncovered lines: 15
Coverable lines: 18
Total lines: 59
Line coverage: 16.6%
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%
GetItemsWithImages(...)100%210%

File(s)

/srv/git/jellyfin/Emby.Server.Implementations/Images/MusicGenreImageProvider.cs

#LineLine coverage
 1#nullable disable
 2
 3#pragma warning disable CS1591
 4
 5using System.Collections.Generic;
 6using Jellyfin.Data.Enums;
 7using MediaBrowser.Common.Configuration;
 8using MediaBrowser.Controller.Drawing;
 9using MediaBrowser.Controller.Dto;
 10using MediaBrowser.Controller.Entities;
 11using MediaBrowser.Controller.Entities.Audio;
 12using MediaBrowser.Controller.Library;
 13using MediaBrowser.Controller.Providers;
 14using MediaBrowser.Model.Entities;
 15using MediaBrowser.Model.IO;
 16using MediaBrowser.Model.Querying;
 17
 18namespace Emby.Server.Implementations.Images
 19{
 20    /// <summary>
 21    /// Class MusicGenreImageProvider.
 22    /// </summary>
 23    public class MusicGenreImageProvider : BaseDynamicImageProvider<MusicGenre>
 24    {
 25        /// <summary>
 26        /// The library manager.
 27        /// </summary>
 28        private readonly ILibraryManager _libraryManager;
 29
 2230        public MusicGenreImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths appli
 31        {
 2232            _libraryManager = libraryManager;
 2233        }
 34
 35        /// <summary>
 36        /// Get children objects used to create an music genre image.
 37        /// </summary>
 38        /// <param name="item">The music genre used to create the image.</param>
 39        /// <returns>Any relevant children objects.</returns>
 40        protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
 41        {
 042            return _libraryManager.GetItemList(new InternalItemsQuery
 043            {
 044                Genres = new[] { item.Name },
 045                IncludeItemTypes = new[]
 046                {
 047                    BaseItemKind.MusicAlbum,
 048                    BaseItemKind.MusicVideo,
 049                    BaseItemKind.Audio
 050                },
 051                OrderBy = new[] { (ItemSortBy.Random, SortOrder.Ascending) },
 052                Limit = 4,
 053                Recursive = true,
 054                ImageTypes = new[] { ImageType.Primary },
 055                DtoOptions = new DtoOptions(false)
 056            });
 57        }
 58    }
 59}