From cbb7b96391d9ad32f5e88d7f5d649b9cf4895903 Mon Sep 17 00:00:00 2001 From: Dean Gardiner Date: Wed, 16 Oct 2013 15:34:08 +1300 Subject: [PATCH] 'searcher.correct_release' can now return a float indicating the weight/accuracy which is used to scale the score. Fix to IPT _buildUrl method. Conflicts: couchpotato/core/providers/torrent/iptorrents/main.py --- couchpotato/core/providers/base.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/couchpotato/core/providers/base.py b/couchpotato/core/providers/base.py index 60420a13..70680986 100644 --- a/couchpotato/core/providers/base.py +++ b/couchpotato/core/providers/base.py @@ -284,12 +284,22 @@ class ResultList(list): new_result = self.fillResult(result) - is_correct_movie = fireEvent('searcher.correct_release', new_result, self.movie, self.quality, + is_correct = fireEvent('searcher.correct_release', new_result, self.movie, self.quality, imdb_results = self.kwargs.get('imdb_results', False), single = True) - if is_correct_movie and new_result['id'] not in self.result_ids: + if is_correct and new_result['id'] not in self.result_ids: + is_correct_weight = float(is_correct) + new_result['score'] += fireEvent('score.calculate', new_result, self.movie, single = True) + old_score = new_result['score'] + new_result['score'] = int(old_score * is_correct_weight) + log.info('Found correct release with weight %.02f, old_score(%d) now scaled to score(%d)', ( + is_correct_weight, + old_score, + new_result['score'] + )) + self.found(new_result) self.result_ids.append(result['id'])