Flixter decode json before parsing. closes #2305
This commit is contained in:
@@ -39,7 +39,7 @@ class Flixster(Automation):
|
||||
if not enablers[index]:
|
||||
continue
|
||||
|
||||
data = self.getJsonData(self.url % user_id)
|
||||
data = self.getJsonData(self.url % user_id, decode_from = 'iso-8859-1')
|
||||
|
||||
for movie in data:
|
||||
movies.append({'title': movie['movie']['title'], 'year': movie['movie']['year'] })
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import logging
|
||||
from couchpotato.core.event import addEvent, fireEvent
|
||||
from couchpotato.core.helpers.encoding import toUnicode
|
||||
from couchpotato.core.helpers.variable import tryFloat, mergeDicts, md5, \
|
||||
possibleTitles, getTitle
|
||||
from couchpotato.core.logger import CPLog
|
||||
@@ -8,6 +8,7 @@ from couchpotato.environment import Env
|
||||
from urlparse import urlparse
|
||||
import cookielib
|
||||
import json
|
||||
import logging
|
||||
import re
|
||||
import time
|
||||
import traceback
|
||||
@@ -63,13 +64,17 @@ class Provider(Plugin):
|
||||
|
||||
return self.is_available.get(host, False)
|
||||
|
||||
def getJsonData(self, url, **kwargs):
|
||||
def getJsonData(self, url, decode_from = None, **kwargs):
|
||||
|
||||
cache_key = '%s%s' % (md5(url), md5('%s' % kwargs.get('params', {})))
|
||||
data = self.getCache(cache_key, url, **kwargs)
|
||||
|
||||
if data:
|
||||
try:
|
||||
data = data.strip()
|
||||
if decode_from:
|
||||
data = data.decode(decode_from)
|
||||
|
||||
return json.loads(data)
|
||||
except:
|
||||
log.error('Failed to parsing %s: %s', (self.getName(), traceback.format_exc()))
|
||||
|
||||
Reference in New Issue
Block a user