Browse Source

Trakt watchlist automation

pull/70/head
Ruud 13 years ago
parent
commit
30b7eca945
  1. 10
      couchpotato/core/providers/automation/trakt/__init__.py
  2. 26
      couchpotato/core/providers/automation/trakt/main.py

10
couchpotato/core/providers/automation/trakt/__init__.py

@ -10,13 +10,21 @@ config = [{
'tab': 'automation',
'name': 'trakt_automation',
'label': 'Trakt',
'description': 'Enable automatic movie adding from Trakt',
'description': 'from watchlist',
'options': [
{
'name': 'automation_enabled',
'default': False,
'type': 'enabler',
},
{
'name': 'automation_api_key',
'label': 'Apikey',
},
{
'name': 'automation_username',
'label': 'Username',
},
],
},
],

26
couchpotato/core/providers/automation/trakt/main.py

@ -1,14 +1,36 @@
from couchpotato.core.helpers.variable import md5
from couchpotato.core.logger import CPLog
from couchpotato.core.providers.automation.base import Automation
import json
log = CPLog(__name__)
class Trakt(Automation):
def getMovies(self):
urls = {
'base': 'http://api.trakt.tv/',
'watchlist': 'user/watchlist/movies.json/%s/',
}
def getIMDBids(self):
if self.isDisabled():
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)

Loading…
Cancel
Save