PluginCore.cs 892 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.IO;
  3. using MeidoPhotoStudio.Converter.Converters;
  4. namespace MeidoPhotoStudio.Converter;
  5. public class PluginCore
  6. {
  7. private readonly IConverter[] converters;
  8. public PluginCore(string workingDirectory, params IConverter[] converters)
  9. {
  10. WorkingDirectory = workingDirectory;
  11. this.converters = converters;
  12. }
  13. public string WorkingDirectory { get; set; }
  14. public void Convert()
  15. {
  16. Directory.CreateDirectory(WorkingDirectory);
  17. foreach (var converter in converters)
  18. {
  19. try
  20. {
  21. converter.Convert(WorkingDirectory);
  22. }
  23. catch (Exception e)
  24. {
  25. if (!Plugin.Instance)
  26. continue;
  27. Plugin.Instance!.Logger!.LogError($"Could not convert data because {e}");
  28. }
  29. }
  30. }
  31. }