2
0
Эх сурвалжийг харах

Update BasePlugin.cs

Moved initialisation ApplicationHost.cs /LoadPlugin()
BaronGreenback 4 жил өмнө
parent
commit
a69731b5e3

+ 31 - 0
MediaBrowser.Common/Plugins/BasePlugin.cs

@@ -140,6 +140,37 @@ namespace MediaBrowser.Common.Plugins
         {
         {
             ApplicationPaths = applicationPaths;
             ApplicationPaths = applicationPaths;
             XmlSerializer = xmlSerializer;
             XmlSerializer = xmlSerializer;
+            if (this is IPluginAssembly assemblyPlugin)
+            {
+                var assembly = GetType().Assembly;
+                var assemblyName = assembly.GetName();
+                var assemblyFilePath = assembly.Location;
+
+                var dataFolderPath = Path.Combine(ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(assemblyFilePath));
+
+                assemblyPlugin.SetAttributes(assemblyFilePath, dataFolderPath, assemblyName.Version);
+
+                try
+                {
+                    var idAttributes = assembly.GetCustomAttributes(typeof(GuidAttribute), true);
+                    if (idAttributes.Length > 0)
+                    {
+                        var attribute = (GuidAttribute)idAttributes[0];
+                        var assemblyId = new Guid(attribute.Value);
+
+                        assemblyPlugin.SetId(assemblyId);
+                    }
+                }
+                catch (Exception ex)
+                {
+                    Logger.LogError(ex, "Error getting plugin Id from {PluginName}.", plugin.GetType().FullName);
+                }
+            }
+
+            if (this is IHasPluginConfiguration hasPluginConfiguration)
+            {
+                hasPluginConfiguration.SetStartupInfo(s => Directory.CreateDirectory(s));
+            }
         }
         }
 
 
         /// <summary>
         /// <summary>