|
|
@ -3,8 +3,8 @@ from couchpotato.core.helpers.encoding import toUnicode |
|
|
|
from couchpotato.core.helpers.variable import getTitle |
|
|
|
from couchpotato.core.logger import CPLog |
|
|
|
from couchpotato.core.plugins.base import Plugin |
|
|
|
from couchpotato.core.plugins.score.scores import nameScore, nameRatioScore, \ |
|
|
|
sizeScore, providerScore, duplicateScore, partialIgnoredScore, namePositionScore, \ |
|
|
|
from couchpotato.core.plugins.score.scores import nameScore, CatnameScore, nameRatioScore, \ |
|
|
|
sizeScore, providerScore, duplicateScore, partialIgnoredScore, CatpartialIgnoredScore, namePositionScore, \ |
|
|
|
halfMultipartScore |
|
|
|
|
|
|
|
log = CPLog(__name__) |
|
|
@ -18,7 +18,10 @@ class Score(Plugin): |
|
|
|
def calculate(self, nzb, movie): |
|
|
|
''' Calculate the score of a NZB, used for sorting later ''' |
|
|
|
|
|
|
|
score = nameScore(toUnicode(nzb['name'] + ' ' + nzb.get('name_extra', '')), movie['library']['year']) |
|
|
|
if movie and movie['category'] and movie['category']['preferred']: |
|
|
|
score = CatnameScore(toUnicode(nzb['name']), movie['library']['year'], movie['category']['preferred']) |
|
|
|
else: |
|
|
|
score = nameScore(toUnicode(nzb['name']), movie['library']['year']) |
|
|
|
|
|
|
|
for movie_title in movie['library']['titles']: |
|
|
|
score += nameRatioScore(toUnicode(nzb['name']), toUnicode(movie_title['title'])) |
|
|
@ -41,7 +44,10 @@ class Score(Plugin): |
|
|
|
score += duplicateScore(nzb['name'], getTitle(movie['library'])) |
|
|
|
|
|
|
|
# Partial ignored words |
|
|
|
score += partialIgnoredScore(nzb['name'], getTitle(movie['library'])) |
|
|
|
if movie and movie['category'] and movie['category']['ignored']: |
|
|
|
score = CatpartialIgnoredScore(nzb['name'], getTitle(movie['library']), movie['category']['ignored']) |
|
|
|
else: |
|
|
|
score += partialIgnoredScore(nzb['name'], getTitle(movie['library'])) |
|
|
|
|
|
|
|
# Ignore single downloads from multipart |
|
|
|
score += halfMultipartScore(nzb['name']) |
|
|
|