< Summary - Jellyfin

Information
Class: MediaBrowser.Providers.Plugins.StudioImages.Plugin
Assembly: MediaBrowser.Providers
File(s): /srv/git/jellyfin/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 67
Line coverage: 100%
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 2/13/2026 - 12:11:21 AM Line coverage: 100% (7/7) Total lines: 634/19/2026 - 12:14:27 AM Line coverage: 100% (13/13) Total lines: 635/22/2026 - 12:15:17 AM Line coverage: 100% (14/14) Total lines: 67

Coverage delta

Coverage delta 1 -1

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Id()100%11100%
get_Name()100%11100%
get_Description()100%11100%
get_ConfigurationFileName()100%11100%
get_ImageResourceName()100%11100%
GetPages()100%11100%

File(s)

/srv/git/jellyfin/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs

#LineLine coverage
 1#nullable disable
 2
 3using System;
 4using System.Collections.Generic;
 5using MediaBrowser.Common.Configuration;
 6using MediaBrowser.Common.Plugins;
 7using MediaBrowser.Controller.Plugins;
 8using MediaBrowser.Model.Plugins;
 9using MediaBrowser.Model.Serialization;
 10using MediaBrowser.Providers.Plugins.StudioImages.Configuration;
 11
 12namespace MediaBrowser.Providers.Plugins.StudioImages
 13{
 14    /// <summary>
 15    /// Artwork Plugin class.
 16    /// </summary>
 17    public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages, IHasEmbeddedImage
 18    {
 19        /// <summary>
 20        /// Artwork repository URL.
 21        /// </summary>
 22        public const string DefaultServer = "https://raw.githubusercontent.com/jellyfin/emby-artwork/master/studios";
 23
 24        /// <summary>
 25        /// Initializes a new instance of the <see cref="Plugin"/> class.
 26        /// </summary>
 27        /// <param name="applicationPaths">application paths.</param>
 28        /// <param name="xmlSerializer">xml serializer.</param>
 29        public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
 2130            : base(applicationPaths, xmlSerializer)
 31        {
 2132            Instance = this;
 2133        }
 34
 35        /// <summary>
 36        /// Gets the instance of Artwork plugin.
 37        /// </summary>
 38        public static Plugin Instance { get; private set; }
 39
 40        /// <inheritdoc/>
 2441        public override Guid Id => new Guid("872a7849-1171-458d-a6fb-3de3d442ad30");
 42
 43        /// <inheritdoc/>
 2944        public override string Name => "Studio Images";
 45
 46        /// <inheritdoc/>
 147        public override string Description => "Get artwork for studios from any Jellyfin-compatible repository.";
 48
 49        // TODO remove when plugin removed from server.
 50
 51        /// <inheritdoc/>
 152        public override string ConfigurationFileName => "Jellyfin.Plugin.StudioImages.xml";
 53
 54        /// <inheritdoc/>
 2155        public string ImageResourceName => GetType().Namespace + ".jellyfin-plugin-studioimages.svg";
 56
 57        /// <inheritdoc/>
 58        public IEnumerable<PluginPageInfo> GetPages()
 59        {
 560            yield return new PluginPageInfo
 561            {
 562                Name = Name,
 563                EmbeddedResourcePath = GetType().Namespace + ".Configuration.config.html"
 564            };
 565        }
 66    }
 67}