diff --git a/oxdata/lookup/models.py b/oxdata/lookup/models.py index 0c4ab21..9b45f78 100644 --- a/oxdata/lookup/models.py +++ b/oxdata/lookup/models.py @@ -119,6 +119,19 @@ class MovieId(models.Model): folder = stripAccents(directors[0].upper())[0] return os.path.join(folder, normalizePath(directors), normalizePath(title)) + def links(self): + links = [] + if self.imdb_id: + links.append({'source': 'IMDb', + 'url': ox.web.imdb.getUrl(self.imdb_id)}) + if self.wikipedia_id: + links.append({'source': 'Wikipedia', + 'url': ox.web.wikipedia.getUrl(self.wikipedia_id)}) + if self.criterion_id: + links.append({'source': 'Criterion', + 'url': ox.web.criterion.getUrl(self.criterion_id)}) + return links + def json(self): json = {} keys = [ diff --git a/oxdata/movie/views.py b/oxdata/movie/views.py index 7c235ae..acf7cae 100644 --- a/oxdata/movie/views.py +++ b/oxdata/movie/views.py @@ -20,6 +20,13 @@ def posters(request, imdbId): movie_id = getMovieIdByImdbId(imdb_id=imdbId) return getPosters(movie_id, request.build_absolute_uri('/')) +def links(request, imdbId): + movie_id = getMovieIdByImdbId(imdb_id=imdbId) + links = [] + if movie_id: + links = movie_id.links() + return links + def getId(request): data = json.loads(request.POST['data']) response = json_response() @@ -73,6 +80,7 @@ def getData(request): del data['reviews'] data['posters'] = posters(request, id) + data['links'] = links(request, id) response['data'] = data else: