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