diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java index 3f36952..4e1e05e 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/AttributeUpdaterKernel.java @@ -36,8 +36,12 @@ public class AttributeUpdaterKernel { executor.awaitTermination(1, TimeUnit.DAYS); runtime = System.currentTimeMillis() - beforeTimer; - System.out.printf("%nFiles changed: %s%n", filesChangedAmount); - System.out.printf("Files not changed: %s%n", filesNotChangedAmount); + System.out.printf("%nFiles %schanged: %s%n", + ConfigUtil.getInstance().isSafeMode() ? "would " : "", + filesChangedAmount); + System.out.printf("Files %s not changed: %s%n", + ConfigUtil.getInstance().isSafeMode() ? "would " : "", + filesNotChangedAmount); System.out.printf("Runtime: %ss%n", runtime / 1000); } diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/Main.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/Main.java index 78c1f2c..6afe134 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/Main.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/Main.java @@ -46,6 +46,7 @@ public class Main { options.addRequiredOption("l", "library", true, "path to library"); options.addOption("c", "config", false, "path to config"); options.addOption("t", "threads", true, "thread count"); + options.addOption("s", "safe-mode", false, "Test run (no files will be changes)"); CommandLineParser parser = new DefaultParser(); HelpFormatter formatter = new HelpFormatter(); @@ -56,6 +57,7 @@ public class Main { configUtil.loadConfig(cmd.getOptionValue("config", "config.yaml")); // use cmd input configUtil.setLibraryPath(cmd.getOptionValue("library")); if (cmd.hasOption("threads")) configUtil.setThreadCount(parseInt(cmd.getOptionValue("threads"))); + configUtil.setSafeMode(cmd.hasOption("safe-mode")); configUtil.isValid(); } catch (ParseException e) { log.error(e); diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigProcessor.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigProcessor.java index 82d2972..bf03fa5 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigProcessor.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/ConfigProcessor.java @@ -2,6 +2,7 @@ package at.pcgamingfreaks.mkvaudiosubtitlechanger.config; import at.pcgamingfreaks.mkvaudiosubtitlechanger.MKVToolProperties; import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.FileAttribute; +import at.pcgamingfreaks.mkvaudiosubtitlechanger.util.ConfigUtil; import lombok.Getter; import lombok.Setter; import lombok.extern.log4j.Log4j2; @@ -121,7 +122,9 @@ public class ConfigProcessor { return true; } try{ - Runtime.getRuntime().exec(stringBuffer.toString()); + if(!ConfigUtil.getInstance().isSafeMode()) { + Runtime.getRuntime().exec(stringBuffer.toString()); + } }catch(IOException e){ log.error("Couldn't make changes to file"); } diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/util/ConfigUtil.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/util/ConfigUtil.java index 32ff212..53acab6 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/util/ConfigUtil.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/util/ConfigUtil.java @@ -27,6 +27,7 @@ public class ConfigUtil { @Getter(AccessLevel.NONE) private String mkvtoolnixPath; private String libraryPath; + private boolean isSafeMode; public static ConfigUtil getInstance() { if(configUtil == null) {