diff --git a/source/net/sourceforge/filebot/format/EpisodeBindingBean.java b/source/net/sourceforge/filebot/format/EpisodeBindingBean.java index 9d521d03..4efaa7f8 100644 --- a/source/net/sourceforge/filebot/format/EpisodeBindingBean.java +++ b/source/net/sourceforge/filebot/format/EpisodeBindingBean.java @@ -5,6 +5,7 @@ package net.sourceforge.filebot.format; import static net.sourceforge.filebot.MediaTypes.*; import static net.sourceforge.filebot.format.Define.*; import static net.sourceforge.filebot.hash.VerificationUtilities.*; +import static net.sourceforge.tuned.FileUtilities.*; import java.io.File; import java.io.FileInputStream; @@ -47,7 +48,8 @@ public class EpisodeBindingBean { @Define("n") public String getSeriesName() { - return episode.getSeriesName(); + // clean up series name just in case there are any path separators like / or \ + return removePathSeparators(episode.getSeriesName()); } @@ -65,7 +67,8 @@ public class EpisodeBindingBean { @Define("t") public String getTitle() { - return episode.getTitle(); + // clean up episode title just in case there are any path separators like / or \ + return removePathSeparators(episode.getTitle()); } diff --git a/source/net/sourceforge/filebot/ui/panel/rename/RenameModel.java b/source/net/sourceforge/filebot/ui/panel/rename/RenameModel.java index dfb568cc..b7aa5f33 100644 --- a/source/net/sourceforge/filebot/ui/panel/rename/RenameModel.java +++ b/source/net/sourceforge/filebot/ui/panel/rename/RenameModel.java @@ -2,6 +2,8 @@ package net.sourceforge.filebot.ui.panel.rename; +import static net.sourceforge.tuned.FileUtilities.*; + import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; @@ -50,7 +52,8 @@ public class RenameModel extends MatchModel { @Override public String format(Match match) { - return String.valueOf(match.getValue()).trim(); + // clean up path separators like / or \ + return removePathSeparators(String.valueOf(match.getValue()).trim()); } }; diff --git a/source/net/sourceforge/tuned/FileUtilities.java b/source/net/sourceforge/tuned/FileUtilities.java index ada7d7bb..02291604 100644 --- a/source/net/sourceforge/tuned/FileUtilities.java +++ b/source/net/sourceforge/tuned/FileUtilities.java @@ -183,6 +183,7 @@ public final class FileUtilities { * Invalid file name characters: \, /, :, *, ?, ", <, >, |, \r and \n */ public static final Pattern ILLEGAL_CHARACTERS = Pattern.compile("[\\\\/:*?\"<>|\\r\\n]"); + public static final Pattern PATH_SEPARATORS = Pattern.compile("[\\\\/]"); /** @@ -239,6 +240,11 @@ public final class FileUtilities { } + public static String removePathSeparators(CharSequence path) { + return PATH_SEPARATORS.matcher(path).replaceAll(""); + } + + public static final long KILO = 1024; public static final long MEGA = KILO * 1024; public static final long GIGA = MEGA * 1024;