diff --git a/source/net/filebot/format/MediaBindingBean.java b/source/net/filebot/format/MediaBindingBean.java index 6c25b447..69a47398 100644 --- a/source/net/filebot/format/MediaBindingBean.java +++ b/source/net/filebot/format/MediaBindingBean.java @@ -486,6 +486,12 @@ public class MediaBindingBean { tags.add(lowerTrail(upperInitial(normalizePunctuation(normalizeSpace(m, " "))))); } return new ArrayList(tags); + + } + + @Define("s3d") + public String getStereoscopic3D() { + return releaseInfo.getStereoscopic3D(getFileName()); } @Define("group") diff --git a/source/net/filebot/media/ReleaseInfo.java b/source/net/filebot/media/ReleaseInfo.java index 9b023941..21fddae1 100644 --- a/source/net/filebot/media/ReleaseInfo.java +++ b/source/net/filebot/media/ReleaseInfo.java @@ -49,13 +49,13 @@ public class ReleaseInfo { } public List getVideoTags(String... input) { - Pattern videoTagPattern = getVideoTagPattern(); + Pattern pattern = getVideoTagPattern(); List tags = new ArrayList(); for (String s : input) { if (s == null) continue; - Matcher m = videoTagPattern.matcher(s); + Matcher m = pattern.matcher(s); while (m.find()) { tags.add(m.group()); } @@ -63,6 +63,17 @@ public class ReleaseInfo { return tags; } + public String getStereoscopic3D(String... input) { + Pattern pattern = getStereoscopic3DPattern(); + for (String s : input) { + Matcher m = pattern.matcher(s); + if (m.find()) { + return m.group(); + } + } + return null; + } + public String getReleaseGroup(String... strings) throws IOException { // check file and folder for release group names String[] groups = releaseGroupResource.get(); @@ -267,6 +278,12 @@ public class ReleaseInfo { return compile("(?