diff --git a/DiscordBot/Program.cs b/DiscordBot/Program.cs index 0926fa0..1971a6a 100644 --- a/DiscordBot/Program.cs +++ b/DiscordBot/Program.cs @@ -1,5 +1,4 @@ using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; @@ -94,7 +93,7 @@ public class Program await StartNoGui(); try { - internalActionManager = new InternalActionManager("./Data/Plugins", "*.dll"); + internalActionManager = new InternalActionManager(AppSettings["PluginFolder"], "*.dll"); NoGUI(); } catch (IOException ex) diff --git a/PluginManager/Config.cs b/PluginManager/Config.cs index 722f83e..0afbed5 100644 --- a/PluginManager/Config.cs +++ b/PluginManager/Config.cs @@ -40,6 +40,8 @@ public class Config AppSettings["PluginDatabase"] = "./Data/Resources/plugins.json"; + ArchiveManager.Initialize(); + if (!File.Exists(AppSettings["PluginDatabase"])) { List plugins = new(); @@ -62,7 +64,7 @@ public class Config AppSettings["LogFolder"] + $"/{DateTime.Today.ToShortDateString().Replace("/", "")}.log" ); - ArchiveManager.Initialize(); + UX.UxHandler.Init(); _isLoaded = true; diff --git a/PluginManager/Online/Helpers/ApplicationVersion.cs b/PluginManager/Online/Helpers/ApplicationVersion.cs deleted file mode 100644 index 89b66dc..0000000 --- a/PluginManager/Online/Helpers/ApplicationVersion.cs +++ /dev/null @@ -1,16 +0,0 @@ -using PluginManager.Interfaces.Updater; - -namespace PluginManager.Online.Helpers; - -public class ApplicationVersion: Version -{ - - public ApplicationVersion(int major, int minor, int patch): base(major, minor, patch) - { - } - public ApplicationVersion(string versionAsString): base(versionAsString) - { - } - - -} diff --git a/PluginManager/Others/ArchiveManager.cs b/PluginManager/Others/ArchiveManager.cs index d58704b..db62acc 100644 --- a/PluginManager/Others/ArchiveManager.cs +++ b/PluginManager/Others/ArchiveManager.cs @@ -23,6 +23,24 @@ public static class ArchiveManager IsInitialized = true; } + + + public static async Task CreateFromFile(string file, string folder) + { + if(!IsInitialized) throw new Exception("ArchiveManager is not initialized"); + + if (!Directory.Exists(folder)) + Directory.CreateDirectory(folder); + + var archiveName = folder + Path.GetFileNameWithoutExtension(file) + ".zip"; + if (File.Exists(archiveName)) + File.Delete(archiveName); + + using(ZipArchive archive = ZipFile.Open(archiveName, ZipArchiveMode.Create)) + { + archive.CreateEntryFromFile(file, Path.GetFileName(file)); + } + } /// /// Read a file from a zip archive. The output is a byte array diff --git a/PluginManager/Others/Logger/Logger.cs b/PluginManager/Others/Logger/Logger.cs index b4f543b..de9ab64 100644 --- a/PluginManager/Others/Logger/Logger.cs +++ b/PluginManager/Others/Logger/Logger.cs @@ -1,6 +1,7 @@ using System; using System.IO; using System.Runtime.CompilerServices; +using System.Threading; using System.Threading.Tasks; using PluginManager.Interfaces.Logger; @@ -31,6 +32,7 @@ public sealed class Logger: ILogger IsEnabled = true; LowestLogLevel = lowestLogLevel; OutputFile = null; + } public event EventHandler? OnLog;