You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.0 KiB
67 lines
2.0 KiB
from couchpotato.core.helpers.rss import RSS
|
|
from couchpotato.core.helpers.variable import md5, getImdb, cleanHost
|
|
from couchpotato.core.logger import CPLog
|
|
from couchpotato.core.providers.automation.base import Automation
|
|
from couchpotato.environment import Env
|
|
from dateutil.parser import parse
|
|
from urllib import quote_plus
|
|
import time
|
|
import traceback
|
|
import xml.etree.ElementTree as XMLTree
|
|
import datetime
|
|
import json
|
|
|
|
log = CPLog(__name__)
|
|
|
|
|
|
class Kinepolis(Automation, RSS):
|
|
|
|
interval = 1800
|
|
rss_url = 'http://kinepolis.be/nl/top10-box-office/feed'
|
|
|
|
def getIMDBids(self):
|
|
|
|
if self.isDisabled():
|
|
return
|
|
|
|
movies = []
|
|
RSSMovie = {'name': 'placeholder', 'year' : 'placeholder'}
|
|
|
|
cache_key = 'kinepolis.%s' % md5(self.rss_url)
|
|
rss_data = self.getCache(cache_key, self.rss_url)
|
|
data = XMLTree.fromstring(rss_data)
|
|
|
|
if data:
|
|
rss_movies = self.getElements(data, 'channel/item')
|
|
|
|
for movie in rss_movies:
|
|
RSSMovie['name'] = self.getTextElement(movie, "title")
|
|
currentYear = datetime.datetime.now().strftime("%Y")
|
|
RSSMovie['year'] = currentYear
|
|
|
|
log.info('Release found: %s.' % RSSMovie)
|
|
imdbId = self.getIMDBFromTitle(RSSMovie['name'])
|
|
movies.append(imdbId)
|
|
|
|
return movies
|
|
|
|
def getIMDBFromTitle(self,title):
|
|
api_url = self.createApiUrl()
|
|
search_url = api_url + '/movie.search/?q=' + quote_plus(title)
|
|
data = self.urlopen(search_url)
|
|
jsondata = json.loads(data)
|
|
return jsondata['movies'][0]['imdb']
|
|
|
|
def createBaseUrl(self):
|
|
host = Env.setting('host')
|
|
if host == '0.0.0.0':
|
|
host = 'localhost'
|
|
port = Env.setting('port')
|
|
|
|
return '%s:%d%s' % (cleanHost(host).rstrip('/'), int(port), '/' + Env.setting('url_base').lstrip('/') if Env.setting('url_base') else '')
|
|
|
|
def createApiUrl(self):
|
|
return '%s/api/%s' % (self.createBaseUrl(), Env.setting('api_key'))
|
|
|
|
|
|
|
|
|