diff --git a/MediaBrowser.Providers/Plugins/StudioImages/Configuration/PluginConfiguration.cs b/MediaBrowser.Providers/Plugins/StudioImages/Configuration/PluginConfiguration.cs
index cb422ef3d6..0bfab98245 100644
--- a/MediaBrowser.Providers/Plugins/StudioImages/Configuration/PluginConfiguration.cs
+++ b/MediaBrowser.Providers/Plugins/StudioImages/Configuration/PluginConfiguration.cs
@@ -1,13 +1,17 @@
-#pragma warning disable CS1591
-
-using MediaBrowser.Model.Plugins;
+using MediaBrowser.Model.Plugins;
namespace MediaBrowser.Providers.Plugins.StudioImages.Configuration
{
+ ///
+ /// Plugin configuration class for the studio image provider.
+ ///
public class PluginConfiguration : BasePluginConfiguration
{
private string _repository = Plugin.DefaultServer;
+ ///
+ /// Gets or sets the studio image repository URL.
+ ///
public string RepositoryUrl
{
get
diff --git a/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs b/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs
index 5e653d039f..f5ea6d103d 100644
--- a/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs
+++ b/MediaBrowser.Providers/Plugins/StudioImages/Plugin.cs
@@ -1,5 +1,4 @@
#nullable disable
-#pragma warning disable CS1591
using System;
using System.Collections.Generic;
@@ -11,27 +10,50 @@ using MediaBrowser.Providers.Plugins.StudioImages.Configuration;
namespace MediaBrowser.Providers.Plugins.StudioImages
{
+ ///
+ /// Artwork Plugin class.
+ ///
public class Plugin : BasePlugin, IHasWebPages
{
+ ///
+ /// Artwork repository URL.
+ ///
public const string DefaultServer = "https://raw.github.com/jellyfin/emby-artwork/master/studios";
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// application paths.
+ /// xml serializer.
public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
: base(applicationPaths, xmlSerializer)
{
Instance = this;
}
+ ///
+ /// Gets the instance of Artwork plugin.
+ ///
public static Plugin Instance { get; private set; }
+ ///
public override Guid Id => new Guid("872a7849-1171-458d-a6fb-3de3d442ad30");
+ ///
public override string Name => "Studio Images";
+ ///
public override string Description => "Get artwork for studios from any Jellyfin-compatible repository.";
// TODO remove when plugin removed from server.
+
+ ///
public override string ConfigurationFileName => "Jellyfin.Plugin.StudioImages.xml";
+ ///
+ /// Return the plugin configuration page.
+ ///
+ /// PluginPageInfo.
public IEnumerable GetPages()
{
yield return new PluginPageInfo
diff --git a/MediaBrowser.Providers/Plugins/StudioImages/StudiosImageProvider.cs b/MediaBrowser.Providers/Plugins/StudioImages/StudiosImageProvider.cs
index ef822a22ad..88bbdadb46 100644
--- a/MediaBrowser.Providers/Plugins/StudioImages/StudiosImageProvider.cs
+++ b/MediaBrowser.Providers/Plugins/StudioImages/StudiosImageProvider.cs
@@ -1,7 +1,5 @@
#nullable disable
-#pragma warning disable CS1591
-
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -21,12 +19,21 @@ using MediaBrowser.Model.Providers;
namespace MediaBrowser.Providers.Plugins.StudioImages
{
+ ///
+ /// Studio image provider.
+ ///
public class StudiosImageProvider : IRemoteImageProvider
{
private readonly IServerConfigurationManager _config;
private readonly IHttpClientFactory _httpClientFactory;
private readonly IFileSystem _fileSystem;
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The .
+ /// The .
+ /// The .
public StudiosImageProvider(IServerConfigurationManager config, IHttpClientFactory httpClientFactory, IFileSystem fileSystem)
{
_config = config;
@@ -34,13 +41,16 @@ namespace MediaBrowser.Providers.Plugins.StudioImages
_fileSystem = fileSystem;
}
+ ///
public string Name => "Artwork Repository";
+ ///
public bool Supports(BaseItem item)
{
return item is Studio;
}
+ ///
public IEnumerable GetSupportedImages(BaseItem item)
{
return new List
@@ -49,6 +59,7 @@ namespace MediaBrowser.Providers.Plugins.StudioImages
};
}
+ ///
public async Task> GetImages(BaseItem item, CancellationToken cancellationToken)
{
var thumbsPath = Path.Combine(_config.ApplicationPaths.CachePath, "imagesbyname", "remotestudiothumbs.txt");
@@ -103,6 +114,7 @@ namespace MediaBrowser.Providers.Plugins.StudioImages
return EnsureList(url, file, _fileSystem, cancellationToken);
}
+ ///
public Task GetImageResponse(string url, CancellationToken cancellationToken)
{
var httpClient = _httpClientFactory.CreateClient(NamedClient.Default);
@@ -134,6 +146,12 @@ namespace MediaBrowser.Providers.Plugins.StudioImages
return file;
}
+ ///
+ /// Get matching image for an item.
+ ///
+ /// The .
+ /// The enumerable of image strings.
+ /// String.
public string FindMatch(BaseItem item, IEnumerable images)
{
var name = GetComparableName(item.Name);
@@ -151,6 +169,11 @@ namespace MediaBrowser.Providers.Plugins.StudioImages
.Replace("/", string.Empty, StringComparison.Ordinal);
}
+ ///
+ /// Get available images for a file.
+ ///
+ /// The file.
+ /// IEnumerable{string}.
public IEnumerable GetAvailableImages(string file)
{
using var fileStream = File.OpenRead(file);