Private GIT

Skip to content
Snippets Groups Projects
Commit 17eaba3e authored by Kris Kater's avatar Kris Kater Committed by Ruud
Browse files

Added rottentomatoes automation

parent 0f389f18
No related branches found
No related tags found
No related merge requests found
from .main import Rottentomatoes
def start():
return Rottentomatoes()
config = [{
'name': 'rottentomatoes',
'groups': [
{
'tab': 'automation',
'name': 'rottentomatoes_automation',
'label': 'Rottentomatoes',
'description': 'Imports movies from the rottentomatoes in theaters rss feed.',
'options': [
{
'name': 'automation_enabled',
'default': False,
'type': 'enabler',
},
{
'name': 'tomatometer_percent',
'default': '80',
'label': 'Tomatometer'
}
],
},
],
}]
from couchpotato.core.helpers.rss import RSS
from couchpotato.core.helpers.variable import md5
from couchpotato.core.logger import CPLog
from couchpotato.core.providers.automation.base import Automation
from xml.etree.ElementTree import QName
import datetime
import xml.etree.ElementTree as XMLTree
import re
log = CPLog(__name__)
class Rottentomatoes(Automation, RSS):
interval = 1800
rss_url = 'http://www.rottentomatoes.com/syndication/rss/in_theaters.xml'
def getIMDBids(self):
if self.isDisabled():
return
movies = []
cache_key = 'rottentomatoes.%s' % md5(self.rss_url)
rss_data = self.getCache(cache_key, self.rss_url)
data = XMLTree.fromstring(rss_data)
if data:
namespace = 'http://www.rottentomatoes.com/xmlns/rtmovie/'
rating_tag = str(QName(namespace, 'tomatometer_percent'))
rss_movies = self.getElements(data, 'channel/item')
for movie in rss_movies:
value = self.getTextElement(movie, "title")
result = re.search('(?<=%\s).*', value)
if result:
log.info('Something smells...')
rating = int(self.getTextElement(movie, rating_tag))
name = result.group(0)
if rating < int(self.conf('tomatometer_percent')):
log.info('%s seems to be rotten...' % name)
else:
log.info('You find %s fresh enough though, enqueuing: %s' % (rating, name))
year = datetime.datetime.now().strftime("%Y")
imdb = self.search(name, year)
if imdb:
movies.append(imdb['imdb'])
return movies
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment