< Summary - Jellyfin

Information
Class: Emby.Server.Implementations.Images.BaseFolderImageProvider<T>
Assembly: Emby.Server.Implementations
File(s): /srv/git/jellyfin/Emby.Server.Implementations/Images/BaseFolderImageProvider.cs
Line coverage
80%
Covered lines: 17
Uncovered lines: 4
Coverable lines: 21
Total lines: 65
Line coverage: 80.9%
Branch coverage
0%
Covered branches: 0
Total branches: 2
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%11100%
GetItemsWithImages(...)100%11100%
CreateImage(...)100%11100%
Supports(...)100%210%
HasChangedByDate(...)0%620%

File(s)

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

#LineLine coverage
 1#pragma warning disable CS1591
 2
 3using System.Collections.Generic;
 4using Jellyfin.Data.Enums;
 5using MediaBrowser.Common.Configuration;
 6using MediaBrowser.Controller.Drawing;
 7using MediaBrowser.Controller.Dto;
 8using MediaBrowser.Controller.Entities;
 9using MediaBrowser.Controller.Entities.Audio;
 10using MediaBrowser.Controller.Library;
 11using MediaBrowser.Controller.Providers;
 12using MediaBrowser.Model.Entities;
 13using MediaBrowser.Model.IO;
 14
 15namespace Emby.Server.Implementations.Images
 16{
 17    public abstract class BaseFolderImageProvider<T> : BaseDynamicImageProvider<T>
 18        where T : Folder, new()
 19    {
 20        private readonly ILibraryManager _libraryManager;
 21
 22        protected BaseFolderImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths ap
 6623            : base(fileSystem, providerManager, applicationPaths, imageProcessor)
 24        {
 6625            _libraryManager = libraryManager;
 6626        }
 27
 28        protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
 29        {
 4230            return _libraryManager.GetItemList(new InternalItemsQuery
 4231            {
 4232                Parent = item,
 4233                Recursive = true,
 4234                DtoOptions = new DtoOptions(true),
 4235                ImageTypes = [ImageType.Primary],
 4236                OrderBy =
 4237                [
 4238                    (ItemSortBy.IsFolder, SortOrder.Ascending),
 4239                    (ItemSortBy.SortName, SortOrder.Ascending)
 4240                ],
 4241                Limit = 1
 4242            });
 43        }
 44
 45        protected override string CreateImage(BaseItem item, IReadOnlyCollection<BaseItem> itemsWithImages, string outpu
 46        {
 4247            return CreateSingleImage(itemsWithImages, outputPathWithoutExtension, ImageType.Primary);
 48        }
 49
 50        protected override bool Supports(BaseItem item)
 51        {
 052            return item is T;
 53        }
 54
 55        protected override bool HasChangedByDate(BaseItem item, ItemImageInfo image)
 56        {
 057            if (item is MusicAlbum)
 58            {
 059                return false;
 60            }
 61
 062            return base.HasChangedByDate(item, image);
 63        }
 64    }
 65}