Trakt watchlist automation
This commit is contained in:
@@ -10,13 +10,21 @@ config = [{
|
|||||||
'tab': 'automation',
|
'tab': 'automation',
|
||||||
'name': 'trakt_automation',
|
'name': 'trakt_automation',
|
||||||
'label': 'Trakt',
|
'label': 'Trakt',
|
||||||
'description': 'Enable automatic movie adding from Trakt',
|
'description': 'from watchlist',
|
||||||
'options': [
|
'options': [
|
||||||
{
|
{
|
||||||
'name': 'automation_enabled',
|
'name': 'automation_enabled',
|
||||||
'default': False,
|
'default': False,
|
||||||
'type': 'enabler',
|
'type': 'enabler',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'name': 'automation_api_key',
|
||||||
|
'label': 'Apikey',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'name': 'automation_username',
|
||||||
|
'label': 'Username',
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,14 +1,36 @@
|
|||||||
|
from couchpotato.core.helpers.variable import md5
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.core.providers.automation.base import Automation
|
from couchpotato.core.providers.automation.base import Automation
|
||||||
|
import json
|
||||||
|
|
||||||
log = CPLog(__name__)
|
log = CPLog(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Trakt(Automation):
|
class Trakt(Automation):
|
||||||
|
|
||||||
def getMovies(self):
|
urls = {
|
||||||
|
'base': 'http://api.trakt.tv/',
|
||||||
|
'watchlist': 'user/watchlist/movies.json/%s/',
|
||||||
|
}
|
||||||
|
|
||||||
|
def getIMDBids(self):
|
||||||
|
|
||||||
if self.isDisabled():
|
if self.isDisabled():
|
||||||
return
|
return
|
||||||
|
|
||||||
return []
|
movies = []
|
||||||
|
for movie in self.getWatchlist():
|
||||||
|
movies.append(movie.get('imdb_id'))
|
||||||
|
|
||||||
|
return movies
|
||||||
|
|
||||||
|
def getWatchlist(self):
|
||||||
|
method = (self.urls['watchlist'] % self.conf('automation_api_key')) + self.conf('automation_username')
|
||||||
|
return self.call(method)
|
||||||
|
|
||||||
|
|
||||||
|
def call(self, method_url):
|
||||||
|
|
||||||
|
cache_key = 'trakt.%s' % md5(method_url)
|
||||||
|
json_string = self.getCache(cache_key, self.urls['base'] + method_url)
|
||||||
|
return json.loads(json_string)
|
||||||
|
|||||||
Reference in New Issue
Block a user