From b6ebdfa49fa9dd5598c144082e849ff11b11ec87 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Fri, 27 Sep 2013 08:50:41 +0000 Subject: [PATCH] * some fine-tuning for the episode metrics @see http://www.filebot.net/forums/viewtopic.php?f=6&t=972 --- .../net/sourceforge/filebot/similarity/EpisodeMetrics.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/net/sourceforge/filebot/similarity/EpisodeMetrics.java b/source/net/sourceforge/filebot/similarity/EpisodeMetrics.java index bd190464..65d34e0d 100644 --- a/source/net/sourceforge/filebot/similarity/EpisodeMetrics.java +++ b/source/net/sourceforge/filebot/similarity/EpisodeMetrics.java @@ -114,7 +114,7 @@ public enum EpisodeMetrics implements SimilarityMetric { // don't use title for matching if title equals series name String normalizedToken = normalizeObject(e.getTitle()); - if (normalizedToken.length() >= 3 && !normalizeObject(e.getSeriesName()).contains(normalizedToken)) { + if (normalizedToken.length() >= 4 && !normalizeObject(e.getSeriesName()).contains(normalizedToken)) { return normalizedToken; } } @@ -141,6 +141,11 @@ public enum EpisodeMetrics implements SimilarityMetric { float sxe = EpisodeIdentifier.getSimilarity(o1, o2); float title = Title.getSimilarity(o1, o2); + // allow title to override SxE only if series name also is a good match + if (sxe < 1 && title == 1 && SeriesName.getSimilarity(o1, o2) < 0.5f) { + title = 0; + } + // account for misleading SxE patterns in the episode title if (sxe < 0 && title == 1 && EpisodeIdentifier.getSimilarity(getTitle(o1), getTitle(o2)) == 1) { sxe = 1;