From 4b1654ae3bb2977e1ec1978a3ea07d6f2e96b477 Mon Sep 17 00:00:00 2001 From: Shadowghost Date: Fri, 15 Apr 2022 20:10:37 +0200 Subject: [PATCH] Add xmldocs for studio image provider --- .../Configuration/PluginConfiguration.cs | 10 ++++--- .../Plugins/StudioImages/Plugin.cs | 24 ++++++++++++++++- .../StudioImages/StudiosImageProvider.cs | 27 +++++++++++++++++-- 3 files changed, 55 insertions(+), 6 deletions(-) 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);