From 00e5eed75bd6c966ed50f5bea32195322633c589 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Wed, 30 Mar 2016 21:42:54 +0000 Subject: [PATCH] Fix series lookup issues (short series names) --- source/net/filebot/media/MediaDetection.java | 22 ++++++++------------ 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/source/net/filebot/media/MediaDetection.java b/source/net/filebot/media/MediaDetection.java index ed1bc74c..7dbfa50b 100644 --- a/source/net/filebot/media/MediaDetection.java +++ b/source/net/filebot/media/MediaDetection.java @@ -350,9 +350,6 @@ public class MediaDetection { // try to detect series name via known patterns unids.addAll(matchSeriesMappings(files)); - // guessed queries - List names = new ArrayList(); - // strict series name matcher for recognizing 1x01 patterns SeriesNameMatcher strictSeriesNameMatcher = getSeriesNameMatcher(true); @@ -399,32 +396,31 @@ public class MediaDetection { matches.add(it.getName()); } - // less reliable CWS deep matching matches.addAll(matchSeriesByName(folders, 2, index)); matches.addAll(matchSeriesByName(filenames, 2, index)); // pass along only valid terms - names.addAll(stripBlacklistedTerms(matches)); + unids.addAll(stripBlacklistedTerms(matches)); } else { // trust terms matched by 0-stance - names.addAll(matches); + unids.addAll(matches); } } catch (Exception e) { debug.warning("Failed to match folder structure: " + e); } // match common word sequence and clean detected word sequence from unwanted elements - Set matches = new LinkedHashSet(); + Set queries = new LinkedHashSet(); // check for known pattern matches for (boolean strict : new boolean[] { true, false }) { - if (matches.isEmpty()) { + if (queries.isEmpty()) { // check CWS matches SeriesNameMatcher seriesNameMatcher = getSeriesNameMatcher(strict); - matches.addAll(strictSeriesNameMatcher.matchAll(files.toArray(new File[files.size()]))); + queries.addAll(strictSeriesNameMatcher.matchAll(files.toArray(new File[files.size()]))); // try before SxE pattern - if (matches.isEmpty()) { + if (queries.isEmpty()) { for (File f : files) { for (File path : listPathTail(f, 2, true)) { String fn = getName(path); @@ -443,7 +439,7 @@ public class MediaDetection { } } } - matches.add(sn); + queries.add(sn); break; } } @@ -452,9 +448,9 @@ public class MediaDetection { } } - debug.finest(format("Match Series Name => %s %s %s", unids, names, matches)); + debug.finest(format("Match Series Name => %s %s", unids, queries)); - List querySet = getUniqueQuerySet(unids, names, matches); + List querySet = getUniqueQuerySet(unids, queries); debug.finest(format("Query Series => %s", querySet)); return querySet; }