Better movie merge on imdbid

This commit is contained in:
Ruud
2012-02-05 15:37:26 +01:00
parent db73447b1a
commit d085976090
2 changed files with 12 additions and 12 deletions
@@ -4,6 +4,7 @@ from couchpotato.core.helpers.variable import mergeDicts
from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin
from couchpotato.core.settings.model import Library
import time
import traceback
log = CPLog(__name__)
@@ -18,23 +19,20 @@ class MovieResultModifier(Plugin):
def combineOnIMDB(self, results):
temp = {}
unique = 1
order = []
# Combine on imdb id
for item in results:
imdb = item.get('imdb')
if imdb:
if not temp.get(imdb):
temp[imdb] = self.getLibraryTags(imdb)
imdb = item.get('imdb', 'random-%s' % time.time())
if not temp.get(imdb):
temp[imdb] = self.getLibraryTags(imdb)
order.append(imdb)
# Merge dicts
temp[imdb] = mergeDicts(temp[imdb], item)
else:
temp[unique] = item
unique += 1
# Merge dicts
temp[imdb] = mergeDicts(temp[imdb], item)
# Make it a list again
temp_list = [temp[x] for x in temp]
temp_list = [temp[x] for x in order]
return temp_list
@@ -16,6 +16,8 @@ class IMDBAPI(MovieProvider):
'info': 'http://www.imdbapi.com/?i=%s&tomatoes=true',
}
http_time_between_calls = 0
def __init__(self):
addEvent('movie.search', self.search)
addEvent('movie.info', self.getInfo)
@@ -60,7 +62,7 @@ class IMDBAPI(MovieProvider):
'imdb': (tryFloat(movie.get('Rating', 0)), tryInt(movie.get('Votes', ''))),
'rotten': (tryFloat(movie.get('tomatoRating', 0)), tryInt(movie.get('tomatoReviews', 0))),
},
'imdb': movie.get('ID', ''),
'imdb': str(movie.get('ID', '')),
'runtime': movie.get('Runtime', ''),
'released': movie.get('Released', ''),
'year': movie.get('Year', ''),