From 4dff50f13a9bed8cb681ab664274db0e243126b6 Mon Sep 17 00:00:00 2001 From: RatzzFatzz Date: Fri, 14 Feb 2020 21:41:49 +0100 Subject: [PATCH] [IMPL] config file implemented --- src/main/java/GUI.java | 3 + src/main/java/query/QueryBuilder.java | 118 +++++++++++++------------- src/main/resources/config.yaml | 4 +- 3 files changed, 65 insertions(+), 60 deletions(-) diff --git a/src/main/java/GUI.java b/src/main/java/GUI.java index f8b61f7..d4b7c15 100644 --- a/src/main/java/GUI.java +++ b/src/main/java/GUI.java @@ -4,6 +4,7 @@ import model.FileAttribute; import query.QueryBuilder; import javax.swing.*; +import javax.swing.text.DefaultCaret; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -30,6 +31,8 @@ public class GUI { JPanel top = new JPanel(new GridLayout(1, 3, 20, 20)); outputArea = new JTextArea(); + DefaultCaret caret = (DefaultCaret) outputArea.getCaret(); + caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE); PrintStream printStream = new PrintStream(new CustomOutputStream(outputArea)); System.setOut(printStream); System.setErr(printStream); diff --git a/src/main/java/query/QueryBuilder.java b/src/main/java/query/QueryBuilder.java index 6e340f6..c10cea0 100644 --- a/src/main/java/query/QueryBuilder.java +++ b/src/main/java/query/QueryBuilder.java @@ -85,68 +85,70 @@ public class QueryBuilder { List audios = null; try{ - yaml = new YAML(new File("src/main/resources/config.yaml")); + yaml = new YAML(new File("config.yaml")); subtitles = yaml.getStringList("subtitle", null); audios = yaml.getStringList("audio", null); + + + if(fileAttributes.size() > 2 && subtitles != null && audios != null){ + + + int oldAudioDefault = - 1; + int oldSubtitleDefault = - 1; + int audioDefault = - 1; + int subtitleDefault = - 1; + int subtitleIndex = - 1; + int audioIndex = - 1; + + for(FileAttribute attribute : fileAttributes){ + if(subtitles.contains(attribute.getLanguage()) && "subtitles".equals(attribute.getType())){ + for(int i = 0; i < subtitles.size(); i++){ + if(subtitles.get(i).equals(attribute.getLanguage())){ + if(subtitleIndex == - 1 || i < subtitleIndex){ + subtitleIndex = i; + subtitleDefault = attribute.getId(); + } + } + } + } + if(audios.contains(attribute.getLanguage()) && "audio".equals(attribute.getType())){ + for(int i = 0; i < audios.size(); i++){ + if(audios.get(i).equals(attribute.getLanguage())){ + if(audioIndex == - 1 || i < audioIndex){ + audioIndex = i; + audioDefault = attribute.getId(); + } + } + } + } + + if(attribute.isDefaultTrack() && "audio".equals(attribute.getType())){ + oldAudioDefault = attribute.getId(); + } + if(attribute.isDefaultTrack() && "subtitles".equals(attribute.getType())){ + oldSubtitleDefault = attribute.getId(); + } + } + StringBuilder stringBuffer = new StringBuilder("\""); + stringBuffer.append(MKVToolProperties.getInstance().getMkvpropeditPath()); + stringBuffer.append("\" \"").append(path).append("\" "); + stringBuffer.append("--edit track:").append(oldSubtitleDefault).append(" --set flag-default=0 "); + stringBuffer.append("--edit track:").append(oldAudioDefault).append(" --set flag-default=0 "); + stringBuffer.append("--edit track:").append(subtitleDefault).append(" --set flag-default=1 "); + stringBuffer.append("--edit track:").append(audioDefault).append(" --set flag-default=1 "); + + try{ + Runtime.getRuntime().exec(stringBuffer.toString()); + }catch(IOException e){ + log.error("Couldn't make changes to file"); + + } + + }else{ + log.info("There were not enough lines provided to make any changes to the file"); + } }catch(YamlInvalidContentException | IOException e){ log.error(e.getMessage()); } - - if(fileAttributes.size() > 2 && subtitles != null && audios != null){ - - - int oldAudioDefault = - 1; - int oldSubtitleDefault = - 1; - int audioDefault = - 1; - int subtitleDefault = - 1; - int subtitleIndex = - 1; - int audioIndex = - 1; - - for(FileAttribute attribute : fileAttributes){ - if(subtitles.contains(attribute.getLanguage()) && "subtitles".equals(attribute.getType())){ - for(int i = 0; i < subtitles.size(); i++){ - if(subtitles.get(i).equals(attribute.getLanguage())){ - if(subtitleIndex == - 1 || i < subtitleIndex){ - subtitleIndex = i; - subtitleDefault = attribute.getId(); - } - } - } - } - if(audios.contains(attribute.getLanguage()) && "audio".equals(attribute.getType())){ - for(int i = 0; i < audios.size(); i++){ - if(audios.get(i).equals(attribute.getLanguage())){ - if(audioIndex == - 1 || i < audioIndex){ - audioIndex = i; - audioDefault = attribute.getId(); - } - } - } - } - - if(attribute.isDefaultTrack() && "audio".equals(attribute.getType())){ - oldAudioDefault = attribute.getId(); - } - if(attribute.isDefaultTrack() && "subtitles".equals(attribute.getType())){ - oldSubtitleDefault = attribute.getId(); - } - } - StringBuilder stringBuffer = new StringBuilder("\""); - stringBuffer.append(MKVToolProperties.getInstance().getMkvpropeditPath()); - stringBuffer.append("\" \"").append(path).append("\" "); - stringBuffer.append("--edit track:").append(oldSubtitleDefault).append(" --set flag-default=0 "); - stringBuffer.append("--edit track:").append(oldAudioDefault).append(" --set flag-default=0 "); - stringBuffer.append("--edit track:").append(subtitleDefault).append(" --set flag-default=1 "); - stringBuffer.append("--edit track:").append(audioDefault).append(" --set flag-default=1 "); - - try{ - Runtime.getRuntime().exec(stringBuffer.toString()); - }catch(IOException e){ - log.error("Couldn't make changes to file"); - - } - }else{ - log.info("There were not enough lines provided to make any changes to the file"); - } } } diff --git a/src/main/resources/config.yaml b/src/main/resources/config.yaml index 341f395..c709d2b 100644 --- a/src/main/resources/config.yaml +++ b/src/main/resources/config.yaml @@ -3,5 +3,5 @@ audio: - ger - eng subtitle: - - ger - - eng \ No newline at end of file + - eng + - ger \ No newline at end of file