From ca7ab36ae2e2699b7750e19c1c035eba636dfb07 Mon Sep 17 00:00:00 2001 From: Ruud Date: Sun, 27 Mar 2016 08:50:58 +0200 Subject: [PATCH] Update user agent --- .../core/media/movie/providers/info/themoviedb.py | 20 +++++++++++++++++--- couchpotato/core/plugins/base.py | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/couchpotato/core/media/movie/providers/info/themoviedb.py b/couchpotato/core/media/movie/providers/info/themoviedb.py index bd41b34..16d2c48 100644 --- a/couchpotato/core/media/movie/providers/info/themoviedb.py +++ b/couchpotato/core/media/movie/providers/info/themoviedb.py @@ -1,4 +1,6 @@ +import random import traceback +from base64 import b64decode as bd from couchpotato.core.event import addEvent, fireEvent from couchpotato.core.helpers.encoding import toUnicode, ss, tryUrlencode @@ -21,6 +23,9 @@ class TheMovieDb(MovieProvider): }, } + ak = ['ZjdmNTE3NzU4NzdlMGJiNjcwMzUyMDk1MmIzYzc4NDA=', 'ZTIyNGZlNGYzZmVjNWY3YjU1NzA2NDFmN2NkM2RmM2E=', + 'YTNkYzExMWU2NjEwNWY2Mzg3ZTk5MzkzODEzYWU0ZDU=', 'ZjZiZDY4N2ZmYTYzY2QyODJiNmZmMmM2ODc3ZjI2Njk='] + def __init__(self): addEvent('info.search', self.search, priority = 3) addEvent('movie.search', self.search, priority = 3) @@ -29,6 +34,11 @@ class TheMovieDb(MovieProvider): addEvent('app.load', self.config) def config(self): + + # Reset invalid key + if self.conf('api_key') == '9b939aee0aaafc12a65bf448e4af9543': + self.conf('api_key', '') + configuration = self.request('configuration') if configuration: self.configuration = configuration @@ -197,7 +207,7 @@ class TheMovieDb(MovieProvider): params = tryUrlencode(params) try: - url = 'https://api.themoviedb.org/3/%s?api_key=%s%s' % (call, self.conf('api_key'), '&%s' % params if params else '') + url = 'https://api.themoviedb.org/3/%s?api_key=%s%s' % (call, self.getApiKey(), '&%s' % params if params else '') data = self.getJsonData(url, show_error = False) except: log.debug('Movie not found: %s, %s', (call, params)) @@ -209,11 +219,15 @@ class TheMovieDb(MovieProvider): return data def isDisabled(self): - if self.conf('api_key') == '': + if self.getApiKey() == '': log.error('No API key provided.') return True return False + def getApiKey(self): + key = self.conf('api_key') + return bd(random.choice(self.ak)) if key == '' else key + config = [{ 'name': 'themoviedb', @@ -227,7 +241,7 @@ config = [{ 'options': [ { 'name': 'api_key', - 'default': '9b939aee0aaafc12a65bf448e4af9543', + 'default': '', 'label': 'Api Key', }, ], diff --git a/couchpotato/core/plugins/base.py b/couchpotato/core/plugins/base.py index 529d3a2..68e788f 100644 --- a/couchpotato/core/plugins/base.py +++ b/couchpotato/core/plugins/base.py @@ -33,7 +33,7 @@ class Plugin(object): _locks = {} - user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0' + user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Firefox/45.0' http_last_use = {} http_last_use_queue = {} http_time_between_calls = 0