From 20c94f02d2fdccd12730505d3c283fdce39e7272 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Fri, 1 Apr 2016 08:48:52 +0000 Subject: [PATCH] Add File.getAt(int) and File.getAt(Range) methods to improve {plex} binding usage --- source/net/filebot/cli/ScriptShellMethods.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/net/filebot/cli/ScriptShellMethods.java b/source/net/filebot/cli/ScriptShellMethods.java index 0bb04683..563fb494 100644 --- a/source/net/filebot/cli/ScriptShellMethods.java +++ b/source/net/filebot/cli/ScriptShellMethods.java @@ -3,6 +3,7 @@ package net.filebot.cli; import static java.nio.charset.StandardCharsets.*; import static java.util.Arrays.*; import static java.util.Collections.*; +import static java.util.stream.Collectors.*; import static net.filebot.MediaTypes.*; import static net.filebot.media.XattrMetaInfo.*; @@ -26,6 +27,7 @@ import com.cedarsoftware.util.io.JsonReader; import com.cedarsoftware.util.io.JsonWriter; import groovy.lang.Closure; +import groovy.lang.Range; import net.filebot.MediaTypes; import net.filebot.MetaAttributeView; import net.filebot.media.MediaDetection; @@ -46,6 +48,14 @@ public class ScriptShellMethods { return new File(self, name); } + public static String getAt(File self, int index) { + return FileUtilities.listPath(self).get(index).getName(); + } + + public static File getAt(File self, Range range) { + return new File(DefaultGroovyMethods.getAt(FileUtilities.listPath(self), range).stream().map(File::getName).collect(joining(File.separator))); + } + public static File resolve(File self, String name) { return new File(self, name); }