reviews actor
This commit is contained in:
parent
6de1e6d55a
commit
8936617bd4
2 changed files with 28 additions and 4 deletions
|
@ -4,6 +4,7 @@ from __future__ import division, with_statement
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import os.path
|
import os.path
|
||||||
|
import re
|
||||||
import subprocess
|
import subprocess
|
||||||
from glob import glob
|
from glob import glob
|
||||||
import shutil
|
import shutil
|
||||||
|
@ -187,11 +188,14 @@ class Item(models.Model):
|
||||||
|
|
||||||
def reviews(self):
|
def reviews(self):
|
||||||
reviews = self.get('reviews', [])
|
reviews = self.get('reviews', [])
|
||||||
_reviews = {}
|
_reviews = []
|
||||||
for r in reviews:
|
for r in reviews:
|
||||||
for url in settings.REVIEW_WHITELIST:
|
for url in settings.REVIEW_WHITELIST:
|
||||||
if url in r[0]:
|
if url in r[0]:
|
||||||
_reviews[settings.REVIEW_WHITELIST[url]] = r[0]
|
_reviews.append({
|
||||||
|
'source': settings.REVIEW_WHITELIST[url],
|
||||||
|
'url': r[0]
|
||||||
|
})
|
||||||
return _reviews
|
return _reviews
|
||||||
|
|
||||||
def update_external(self):
|
def update_external(self):
|
||||||
|
@ -217,6 +221,23 @@ class Item(models.Model):
|
||||||
else:
|
else:
|
||||||
data['actor'] = [c[0] for c in data['cast']]
|
data['actor'] = [c[0] for c in data['cast']]
|
||||||
data['actor'] = data['actor']
|
data['actor'] = data['actor']
|
||||||
|
data['cast'] = map(lambda x: {'actor': x[0], 'character': x[1]}, data['cast'])
|
||||||
|
if 'trivia' in data:
|
||||||
|
def fix_links(t):
|
||||||
|
def fix_names(m):
|
||||||
|
return '<a href="/?find=name:%s">%s</a>' % (
|
||||||
|
quote(m.group(2).encode('utf-8')), m.group(2)
|
||||||
|
)
|
||||||
|
t = re.sub('<a href="(/name/.*?/)">(.*?)</a>', fix_names, t)
|
||||||
|
def fix_titles(m):
|
||||||
|
return '<a href="/?find=title:%s">%s</a>' % (
|
||||||
|
quote(m.group(2).encode('utf-8')), m.group(2)
|
||||||
|
)
|
||||||
|
t = re.sub('<a href="(/title/.*?/)">(.*?)</a>', fix_titles, t)
|
||||||
|
return t
|
||||||
|
data['trivia'] = [fix_links(t) for t in data['trivia']]
|
||||||
|
|
||||||
|
#filter reviews
|
||||||
self.external_data = data
|
self.external_data = data
|
||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
|
@ -416,6 +437,9 @@ class Item(models.Model):
|
||||||
if value:
|
if value:
|
||||||
i[key] = value
|
i[key] = value
|
||||||
|
|
||||||
|
if 'reviews' in i:
|
||||||
|
i['reviews'] = self.reviews()
|
||||||
|
|
||||||
if not keys or 'poster' in keys:
|
if not keys or 'poster' in keys:
|
||||||
i['poster'] = self.get_poster()
|
i['poster'] = self.get_poster()
|
||||||
if keys and 'posters' in keys:
|
if keys and 'posters' in keys:
|
||||||
|
@ -467,7 +491,7 @@ class Item(models.Model):
|
||||||
if isinstance(values[0], basestring):
|
if isinstance(values[0], basestring):
|
||||||
values = [values[0], ]
|
values = [values[0], ]
|
||||||
else:
|
else:
|
||||||
values = [i[1] for i in values]
|
values = [i['character'] for i in values]
|
||||||
else:
|
else:
|
||||||
values = self.get(key, '')
|
values = self.get(key, '')
|
||||||
if isinstance(values, list):
|
if isinstance(values, list):
|
||||||
|
|
|
@ -202,7 +202,7 @@ TRANSMISSON_PASSWORD = 'transmission'
|
||||||
|
|
||||||
#Movie related settings
|
#Movie related settings
|
||||||
REVIEW_WHITELIST = {
|
REVIEW_WHITELIST = {
|
||||||
u'filmcritic.com': u'Filmcritic',
|
u'.filmcritic.com': u'Filmcritic',
|
||||||
u'metacritic.com': u'Metacritic',
|
u'metacritic.com': u'Metacritic',
|
||||||
u'nytimes.com': u'New York Times',
|
u'nytimes.com': u'New York Times',
|
||||||
u'rottentomatoes.com': u'Rotten Tomatoes',
|
u'rottentomatoes.com': u'Rotten Tomatoes',
|
||||||
|
|
Loading…
Reference in a new issue