From ce19f2be55c7484488bebfd29bd42c1f082ae888 Mon Sep 17 00:00:00 2001 From: Greenback Date: Fri, 18 Dec 2020 20:37:35 +0000 Subject: [PATCH] Renamed Guid property to Id --- .../Plugins/PluginManager.cs | 4 +-- .../Updates/InstallationManager.cs | 12 +++---- MediaBrowser.Common/Plugins/BasePluginOfT.cs | 17 ++++++++-- MediaBrowser.Common/Plugins/LocalPlugin.cs | 6 ++-- MediaBrowser.Common/Plugins/PluginManifest.cs | 6 ++-- MediaBrowser.Model/Plugins/PluginPageInfo.cs | 34 +++++++++++++++---- .../Updates/InstallationInfo.cs | 8 +++-- MediaBrowser.Model/Updates/PackageInfo.cs | 6 ++-- .../Plugins/AudioDb/Plugin.cs | 2 +- .../Plugins/MusicBrainz/Plugin.cs | 2 +- MediaBrowser.Providers/Plugins/Omdb/Plugin.cs | 2 +- 11 files changed, 65 insertions(+), 34 deletions(-) diff --git a/Emby.Server.Implementations/Plugins/PluginManager.cs b/Emby.Server.Implementations/Plugins/PluginManager.cs index 4c508279c5..613e610d3f 100644 --- a/Emby.Server.Implementations/Plugins/PluginManager.cs +++ b/Emby.Server.Implementations/Plugins/PluginManager.cs @@ -376,7 +376,7 @@ namespace Emby.Server.Implementations.Plugins true, new PluginManifest { - Guid = instance.Id, + Id = instance.Id, Status = PluginStatus.Active, Name = instance.Name, Version = instance.Version.ToString() @@ -537,7 +537,7 @@ namespace Emby.Server.Implementations.Plugins Status = PluginStatus.Restart, Name = metafile, AutoUpdate = false, - Guid = metafile.GetMD5(), + Id = metafile.GetMD5(), TargetAbi = _appVersion.ToString(), Version = version.ToString() }; diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs index cf059fb97f..267a338750 100644 --- a/Emby.Server.Implementations/Updates/InstallationManager.cs +++ b/Emby.Server.Implementations/Updates/InstallationManager.cs @@ -178,7 +178,7 @@ namespace Emby.Server.Implementations.Updates // Where repositories have the same content, the details from the first is taken. foreach (var package in await GetPackages(repository.Name ?? "Unnamed Repo", repository.Url, true, cancellationToken).ConfigureAwait(true)) { - if (!Guid.TryParse(package.Guid, out var packageGuid)) + if (!Guid.TryParse(package.Id, out var packageGuid)) { // Package doesn't have a valid GUID, skip. continue; @@ -245,7 +245,7 @@ namespace Emby.Server.Implementations.Updates if (guid != Guid.Empty) { - availablePackages = availablePackages.Where(x => Guid.Parse(x.Guid) == guid); + availablePackages = availablePackages.Where(x => Guid.Parse(x.Id) == guid); } if (specificVersion != null) @@ -290,7 +290,7 @@ namespace Emby.Server.Implementations.Updates yield return new InstallationInfo { Changelog = v.Changelog, - Guid = new Guid(package.Guid), + Id = new Guid(package.Id), Name = package.Name, Version = v.VersionNumber, SourceUrl = v.SourceUrl, @@ -414,7 +414,7 @@ namespace Emby.Server.Implementations.Updates { lock (_currentInstallationsLock) { - var install = _currentInstallations.Find(x => x.info.Guid == id); + var install = _currentInstallations.Find(x => x.info.Id == id); if (install == default((InstallationInfo, CancellationTokenSource))) { return false; @@ -512,7 +512,7 @@ namespace Emby.Server.Implementations.Updates var compatibleVersions = GetCompatibleVersions(pluginCatalog, plugin.Name, plugin.Id, minVersion: plugin.Version); var version = compatibleVersions.FirstOrDefault(y => y.Version > plugin.Version); - if (version != null && CompletedInstallations.All(x => x.Guid != version.Guid)) + if (version != null && CompletedInstallations.All(x => x.Id != version.Id)) { yield return version; } @@ -577,7 +577,7 @@ namespace Emby.Server.Implementations.Updates private async Task InstallPackageInternal(InstallationInfo package, CancellationToken cancellationToken) { // Set last update time if we were installed before - LocalPlugin? plugin = _pluginManager.Plugins.FirstOrDefault(p => p.Id.Equals(package.Guid) && p.Version.Equals(package.Version)) + LocalPlugin? plugin = _pluginManager.Plugins.FirstOrDefault(p => p.Id.Equals(package.Id) && p.Version.Equals(package.Version)) ?? _pluginManager.Plugins.FirstOrDefault(p => p.Name.Equals(package.Name, StringComparison.OrdinalIgnoreCase) && p.Version.Equals(package.Version)); if (plugin != null) { diff --git a/MediaBrowser.Common/Plugins/BasePluginOfT.cs b/MediaBrowser.Common/Plugins/BasePluginOfT.cs index 66aec92ab6..e4e766472c 100644 --- a/MediaBrowser.Common/Plugins/BasePluginOfT.cs +++ b/MediaBrowser.Common/Plugins/BasePluginOfT.cs @@ -48,7 +48,7 @@ namespace MediaBrowser.Common.Plugins var assemblyFilePath = assembly.Location; var dataFolderPath = Path.Combine(ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(assemblyFilePath)); - if (!Directory.Exists(dataFolderPath)) + if (!Directory.Exists(dataFolderPath) && Version != null) { // Try again with the version number appended to the folder name. dataFolderPath = dataFolderPath + "_" + Version.ToString(); @@ -137,7 +137,20 @@ namespace MediaBrowser.Common.Plugins /// Gets the full path to the configuration file. /// /// The configuration file path. - public string ConfigurationFilePath { get; } + public string ConfigurationFilePath + { + get + { + var dataFolderPath = Path.Combine(ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(AssemblyFilePath)); + if (!Directory.Exists(dataFolderPath) && Version != null) + { + // Try again with the version number appended to the folder name. + return dataFolderPath + "_" + Version.ToString(); + } + + return dataFolderPath; + } + } /// /// Gets the plugin configuration. diff --git a/MediaBrowser.Common/Plugins/LocalPlugin.cs b/MediaBrowser.Common/Plugins/LocalPlugin.cs index 8aded8b9bc..40ecb0a67b 100644 --- a/MediaBrowser.Common/Plugins/LocalPlugin.cs +++ b/MediaBrowser.Common/Plugins/LocalPlugin.cs @@ -1,8 +1,6 @@ #nullable enable using System; using System.Collections.Generic; -using System.Globalization; -using System.Reflection; using MediaBrowser.Model.Plugins; namespace MediaBrowser.Common.Plugins @@ -32,7 +30,7 @@ namespace MediaBrowser.Common.Plugins /// /// Gets the plugin id. /// - public Guid Id => Manifest.Guid; + public Guid Id => Manifest.Id; /// /// Gets the plugin name. @@ -110,7 +108,7 @@ namespace MediaBrowser.Common.Plugins /// A instance containing the information. public PluginInfo GetPluginInfo() { - var inst = Instance?.GetPluginInfo() ?? new PluginInfo(Manifest.Name, Version, Manifest.Description, Manifest.Guid, true); + var inst = Instance?.GetPluginInfo() ?? new PluginInfo(Manifest.Name, Version, Manifest.Description, Manifest.Id, true); inst.Status = Manifest.Status; inst.HasImage = !string.IsNullOrEmpty(Manifest.ImageUrl); return inst; diff --git a/MediaBrowser.Common/Plugins/PluginManifest.cs b/MediaBrowser.Common/Plugins/PluginManifest.cs index 1bd17933c4..39ee450a6e 100644 --- a/MediaBrowser.Common/Plugins/PluginManifest.cs +++ b/MediaBrowser.Common/Plugins/PluginManifest.cs @@ -1,5 +1,6 @@ #nullable enable using System; +using System.Text.Json.Serialization; using MediaBrowser.Model.Plugins; namespace MediaBrowser.Common.Plugins @@ -27,9 +28,8 @@ namespace MediaBrowser.Common.Plugins /// /// Gets or sets the Global Unique Identifier for the plugin. /// -#pragma warning disable CA1720 // Identifier contains type name - public Guid Guid { get; set; } -#pragma warning restore CA1720 // Identifier contains type name + [JsonPropertyName("Guid")] + public Guid Id { get; set; } /// /// Gets or sets the Name of the plugin. diff --git a/MediaBrowser.Model/Plugins/PluginPageInfo.cs b/MediaBrowser.Model/Plugins/PluginPageInfo.cs index ca72e19ee1..85c0aa204b 100644 --- a/MediaBrowser.Model/Plugins/PluginPageInfo.cs +++ b/MediaBrowser.Model/Plugins/PluginPageInfo.cs @@ -1,20 +1,40 @@ -#nullable disable -#pragma warning disable CS1591 +#nullable enable namespace MediaBrowser.Model.Plugins { + /// + /// Defines the . + /// public class PluginPageInfo { - public string Name { get; set; } + /// + /// Gets or sets the name. + /// + public string Name { get; set; } = string.Empty; - public string DisplayName { get; set; } + /// + /// Gets or sets the display name. + /// + public string? DisplayName { get; set; } - public string EmbeddedResourcePath { get; set; } + /// + /// Gets or sets the resource path. + /// + public string EmbeddedResourcePath { get; set; } = string.Empty; + /// + /// Gets or sets a value indicating whether this plugin should appear in the main menu. + /// public bool EnableInMainMenu { get; set; } - public string MenuSection { get; set; } + /// + /// Gets or sets the menu section. + /// + public string? MenuSection { get; set; } - public string MenuIcon { get; set; } + /// + /// Gets or sets the menu icon. + /// + public string? MenuIcon { get; set; } } } diff --git a/MediaBrowser.Model/Updates/InstallationInfo.cs b/MediaBrowser.Model/Updates/InstallationInfo.cs index a6d80dba62..eebe1a9034 100644 --- a/MediaBrowser.Model/Updates/InstallationInfo.cs +++ b/MediaBrowser.Model/Updates/InstallationInfo.cs @@ -1,5 +1,6 @@ #nullable disable using System; +using System.Text.Json.Serialization; namespace MediaBrowser.Model.Updates { @@ -9,10 +10,11 @@ namespace MediaBrowser.Model.Updates public class InstallationInfo { /// - /// Gets or sets the guid. + /// Gets or sets the Id. /// - /// The guid. - public Guid Guid { get; set; } + /// The Id. + [JsonPropertyName("Guid")] + public Guid Id { get; set; } /// /// Gets or sets the name. diff --git a/MediaBrowser.Model/Updates/PackageInfo.cs b/MediaBrowser.Model/Updates/PackageInfo.cs index 63fd717429..2d05ed636a 100644 --- a/MediaBrowser.Model/Updates/PackageInfo.cs +++ b/MediaBrowser.Model/Updates/PackageInfo.cs @@ -16,7 +16,7 @@ namespace MediaBrowser.Model.Updates public PackageInfo() { Versions = Array.Empty(); - Guid = string.Empty; + Id = string.Empty; Category = string.Empty; Name = string.Empty; Overview = string.Empty; @@ -65,9 +65,7 @@ namespace MediaBrowser.Model.Updates /// /// The name. [JsonPropertyName("guid")] -#pragma warning disable CA1720 // Identifier contains type name - public string Guid { get; set; } -#pragma warning restore CA1720 // Identifier contains type name + public string Id { get; set; } /// /// Gets or sets the versions. diff --git a/MediaBrowser.Providers/Plugins/AudioDb/Plugin.cs b/MediaBrowser.Providers/Plugins/AudioDb/Plugin.cs index b5bd72ff0d..ba0d7b5697 100644 --- a/MediaBrowser.Providers/Plugins/AudioDb/Plugin.cs +++ b/MediaBrowser.Providers/Plugins/AudioDb/Plugin.cs @@ -1,4 +1,4 @@ -#pragma warning disable CS1591 +#pragma warning disable CS1591 using System; using System.Collections.Generic; diff --git a/MediaBrowser.Providers/Plugins/MusicBrainz/Plugin.cs b/MediaBrowser.Providers/Plugins/MusicBrainz/Plugin.cs index 90266e4409..43bd3a472f 100644 --- a/MediaBrowser.Providers/Plugins/MusicBrainz/Plugin.cs +++ b/MediaBrowser.Providers/Plugins/MusicBrainz/Plugin.cs @@ -1,4 +1,4 @@ -#pragma warning disable CS1591 +#pragma warning disable CS1591 using System; using System.Collections.Generic; diff --git a/MediaBrowser.Providers/Plugins/Omdb/Plugin.cs b/MediaBrowser.Providers/Plugins/Omdb/Plugin.cs index 41ca561643..d7f6781e50 100644 --- a/MediaBrowser.Providers/Plugins/Omdb/Plugin.cs +++ b/MediaBrowser.Providers/Plugins/Omdb/Plugin.cs @@ -1,4 +1,4 @@ -#pragma warning disable CS1591 +#pragma warning disable CS1591 using System; using System.Collections.Generic;