diff --git a/source/net/sourceforge/filebot/format/AssociativeScriptObject.java b/source/net/sourceforge/filebot/format/AssociativeScriptObject.java index f4e51794..8292a6ce 100644 --- a/source/net/sourceforge/filebot/format/AssociativeScriptObject.java +++ b/source/net/sourceforge/filebot/format/AssociativeScriptObject.java @@ -35,7 +35,7 @@ class AssociativeScriptObject implements Scriptable { protected String definingKey(String s) { // letters and digits are defining, everything else will be ignored - return s.replaceAll("[^\\p{Alnum}]", "").toLowerCase(); + return s.replaceAll("\\p{Punct}", "").toLowerCase(); } diff --git a/source/net/sourceforge/filebot/format/EpisodeFormatBindingBean.java b/source/net/sourceforge/filebot/format/EpisodeFormatBindingBean.java index e3d7ada8..85ec6527 100644 --- a/source/net/sourceforge/filebot/format/EpisodeFormatBindingBean.java +++ b/source/net/sourceforge/filebot/format/EpisodeFormatBindingBean.java @@ -17,6 +17,7 @@ import net.sourceforge.filebot.FileBotUtilities; import net.sourceforge.filebot.mediainfo.MediaInfo; import net.sourceforge.filebot.mediainfo.MediaInfo.StreamKind; import net.sourceforge.filebot.web.Episode; +import net.sourceforge.tuned.FileUtilities; public class EpisodeFormatBindingBean { @@ -121,6 +122,16 @@ public class EpisodeFormatBindingBean { } + @Define("ext") + public String getExtension() { + if (mediaFile != null) { + return FileUtilities.getExtension(mediaFile); + } + + return null; + } + + @Define("general") public Object getGeneralMediaInfo() { return new AssociativeScriptObject(getMediaInfo().snapshot(StreamKind.General, 0)); diff --git a/source/net/sourceforge/tuned/FileUtilities.java b/source/net/sourceforge/tuned/FileUtilities.java index 11f68b56..b76e293f 100644 --- a/source/net/sourceforge/tuned/FileUtilities.java +++ b/source/net/sourceforge/tuned/FileUtilities.java @@ -29,6 +29,9 @@ public final class FileUtilities { public static String getExtension(File file) { + if (file.isDirectory()) + return null; + return getExtension(file.getName()); }