Skip to content

Commit

Permalink
Open txt file from directory passed as runtime arg
Browse files Browse the repository at this point in the history
  • Loading branch information
Nianna committed Oct 20, 2024
1 parent e99701c commit 06d6226
Showing 1 changed file with 20 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import javafx.scene.layout.BorderPane;

import java.io.File;
import java.util.Arrays;
import java.util.Optional;

public class RootController implements Controller {
Expand Down Expand Up @@ -211,9 +212,26 @@ public void onStageShown() {
private Optional<File> findTxtFileToOpenFromRunParams() {
return KarediApp.getInstance().getParameters().getRaw()
.stream()
.filter(param -> param.endsWith(".txt"))
.findFirst()
.map(File::new);
.map(File::new)
.filter(File::exists)
.flatMap(this::getTxtFileFromFile);
}

private Optional<File> getTxtFileFromFile(File file) {
if (isATxtFile(file)) {
return Optional.of(file);
}
if (file.isDirectory()) {
File[] txtFiles = file.listFiles(this::isATxtFile);
if (txtFiles != null) {
return Arrays.stream(txtFiles)
.filter(txtFile -> file.getName().equalsIgnoreCase(Utils.trimExtension(txtFile.getName())))
.findFirst()
.or(() -> Arrays.stream(txtFiles).findFirst());
}
}
return Optional.empty();
}

private class EditLyricsAction extends KarediAction {
Expand Down

0 comments on commit 06d6226

Please sign in to comment.