From 094b77225799864488ff13fd7d8cb79e93711395 Mon Sep 17 00:00:00 2001 From: RatzzFatzz Date: Wed, 5 Apr 2023 23:19:56 +0200 Subject: [PATCH] Implement last-execution creation --- .../impl/kernel/AttributeUpdaterKernel.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/kernel/AttributeUpdaterKernel.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/kernel/AttributeUpdaterKernel.java index e48a7b4..b13b364 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/kernel/AttributeUpdaterKernel.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/impl/kernel/AttributeUpdaterKernel.java @@ -8,16 +8,23 @@ import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.AttributeConfig; import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.FileAttribute; import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.FileInfoDto; import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.ResultStatistic; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.util.DateUtils; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.util.ProjectUtil; +import at.pcgamingfreaks.yaml.YAML; +import at.pcgamingfreaks.yaml.YamlInvalidContentException; import lombok.RequiredArgsConstructor; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import me.tongfei.progressbar.ProgressBar; import me.tongfei.progressbar.ProgressBarBuilder; import me.tongfei.progressbar.ProgressBarStyle; +import net.harawata.appdirs.AppDirsFactory; import java.io.File; import java.io.IOException; +import java.nio.file.Path; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -57,6 +64,8 @@ public abstract class AttributeUpdaterKernel { executor.awaitTermination(1, TimeUnit.DAYS); } + endProcess(); + statistic.stopTimer(); statistic.printResult(); } @@ -139,4 +148,24 @@ public abstract class AttributeUpdaterKernel { log.warn("File couldn't be updated: '{}', Error: {}", fileInfo.getFile().getAbsoluteFile(), e.getMessage()); } } + + protected void endProcess() { + try { + String filePath = AppDirsFactory.getInstance().getUserConfigDir(ProjectUtil.getProjectName(), null, null); + + File configDir = Path.of(filePath).toFile(); + if (!configDir.exists()) configDir.mkdirs(); + + File lastExecutionFile = Path.of(filePath + "/last-execution.yml").toFile(); + if (!lastExecutionFile.exists()) { + lastExecutionFile.createNewFile(); + } + + YAML yaml = new YAML(lastExecutionFile); + yaml.set(Config.getInstance().getLibraryPath().getAbsolutePath(), DateUtils.convert(new Date())); + yaml.save(lastExecutionFile); + } catch (IOException | YamlInvalidContentException e) { + log.error("last-execution.yml could not be created: ", e); // TODO + } + } }