From 98795d3a25cdb6acc3d44596ee6c1f99208adf68 Mon Sep 17 00:00:00 2001 From: j Date: Mon, 5 Sep 2016 18:32:50 +0200 Subject: [PATCH] fix trivia links --- oxdata/movie/models.py | 32 +++++++++++++++++--------------- oxdata/movie/views.py | 4 ++-- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/oxdata/movie/models.py b/oxdata/movie/models.py index 9dafe7b..a588ad4 100644 --- a/oxdata/movie/models.py +++ b/oxdata/movie/models.py @@ -131,21 +131,23 @@ class Imdb(models.Model): def data(self, request=None, timeout=ox.cache.cache_timeout): data = ox.web.imdb.Imdb(self.imdb, timeout=timeout) data = self.apply_patch(data) + + def quote_string(string): + return quote(string).replace('_', '%09').replace('%20', '_') + + def fix_names(m): + return '%s' % ( + quote_string(m.group(2).encode('utf-8')), m.group(2) + ) + + def fix_titles(m): + return '%s' % ( + quote_string(m.group(2).encode('utf-8')), m.group(2) + ) + def fix_links(t): - def quote_string(string): - return quote(string).replace('_', '%09').replace('%20', '_') - def fix_names(m): - return '%s' % ( - quote_string(m.group(2).encode('utf-8')), m.group(2) - ) - t = re.sub('(.*?)', fix_names, t) - - def fix_titles(m): - return '%s' % ( - quote_string(m.group(2).encode('utf-8')), m.group(2) - ) - t = re.sub('(.*?)', fix_titles, t) - + t = re.sub('(.*?)', fix_names, t) + t = re.sub('(.*?)', fix_titles, t) return t if 'trivia' in data: @@ -194,7 +196,7 @@ class Imdb(models.Model): if key in c: c[key] = ox.sanitize_html(fix_links(c[key])) return data - + def info(self, key): movie_id = get_movie_id(imdb_id=self.imdb) return movie_id and movie_id.info(key) or 0 diff --git a/oxdata/movie/views.py b/oxdata/movie/views.py index b6b83cc..2f9ab79 100644 --- a/oxdata/movie/views.py +++ b/oxdata/movie/views.py @@ -15,7 +15,7 @@ def getId(request, data): if movie: response['data'] = movie.json() else: - response['status'] = {'text':'not found', 'code': 404} + response['status'] = {'text': 'not found', 'code': 404} return render_to_json_response(response) actions.register(getId) @@ -35,7 +35,7 @@ def getData(request, data): data = i.data(request) response['data'] = data else: - response['status'] = {'text':'not found', 'code': 404} + response['status'] = {'text': 'not found', 'code': 404} return render_to_json_response(response) actions.register(getData)