diff --git a/oxdata/cover/views.py b/oxdata/cover/views.py index 1c7001f..aa8ecf5 100644 --- a/oxdata/cover/views.py +++ b/oxdata/cover/views.py @@ -7,7 +7,7 @@ from django.contrib.auth.models import User from django.shortcuts import render_to_response, get_object_or_404, get_list_or_404 from django.template import RequestContext -from oxdjango.shortcuts import render_to_json_response +from ox.django.shortcuts import render_to_json_response import models diff --git a/oxdata/lookup/models.py b/oxdata/lookup/models.py index 08ce76b..1553b05 100644 --- a/oxdata/lookup/models.py +++ b/oxdata/lookup/models.py @@ -63,7 +63,7 @@ class MovieId(models.Model): id = self.imdb_id if not id: id = self.id - return '%s (%s)' % (self.title, id) + return u'%s (%s)' % (self.title, id) def updateFromWikipedia(self): if self.wikipedia_id: @@ -84,7 +84,7 @@ class MovieId(models.Model): setattr(self, key, data.get(key, '')) directors = data.get('directors', []) - self.director = ', '.join(directors) + self.director = u', '.join(directors) if not self.wikipedia_id: self.wikipedia_id = ox.web.wikipedia.getId(ox.web.wikipedia.getUrlByImdb(self.imdb_id)) if not self.wikipedia_id: @@ -153,4 +153,3 @@ class MovieId(models.Model): return json - diff --git a/oxdata/lookup/views.py b/oxdata/lookup/views.py index 2ab2eb7..5bc8de3 100644 --- a/oxdata/lookup/views.py +++ b/oxdata/lookup/views.py @@ -5,7 +5,7 @@ from django.db import models from django.db.models import Q from django.contrib.auth.models import User -from oxdjango.shortcuts import render_to_json_response +from ox.django.shortcuts import render_to_json_response import models @@ -39,9 +39,21 @@ def get_movie_id(request): def ids(request): json = {} - movie = get_movie_id(request) - if movie: - json = movie.json() + if 'title' in request.GET: + title = request.GET['title'] + director = request.GET.get('director', '') + year = request.GET.get('year', '') + movies = models.MovieId.objects.filter(title=title) + if director: + movies = movies.filter(director=director) + if year: + movies = movies.filter(year=year) + if movies.count() == 1: + json = movies[0].json() + else: + movie = get_movie_id(request) + if movie: + json = movie.json() return render_to_json_response(json) def urls(request): diff --git a/oxdata/manage.py b/oxdata/manage.py old mode 100644 new mode 100755 diff --git a/oxdata/poster/views.py b/oxdata/poster/views.py index a76c8b6..50cbcf8 100644 --- a/oxdata/poster/views.py +++ b/oxdata/poster/views.py @@ -7,7 +7,7 @@ from django.contrib.auth.models import User from django.shortcuts import render_to_response, get_object_or_404, get_list_or_404 from django.template import RequestContext -from oxdjango.shortcuts import render_to_json_response +from ox.django.shortcuts import render_to_json_response from oxdata.lookup.models import MovieId from oxdata.lookup.views import get_movie_id diff --git a/oxdata/static/favicon.ico b/oxdata/static/favicon.ico new file mode 100644 index 0000000..00dfb03 Binary files /dev/null and b/oxdata/static/favicon.ico differ diff --git a/oxdata/static/robots.txt b/oxdata/static/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/oxdata/static/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/oxdata/urls.py b/oxdata/urls.py index fe7e432..a3de3be 100644 --- a/oxdata/urls.py +++ b/oxdata/urls.py @@ -1,16 +1,31 @@ +# -*- coding: utf-8 -*- +# vi:si:et:sw=4:sts=4:ts=4 +import os + from django.conf.urls.defaults import * +from ox.django.http import HttpFileResponse from django.conf import settings # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() +def serve_static_file(path, location, content_type): + return HttpFileResponse(location, content_type=content_type) + urlpatterns = patterns('', (r'^$', 'oxdata.views.index'), (r'^poster/', include('oxdata.poster.urls')), (r'^still/$', 'oxdata.poster.views.still'), (r'^id/', include('oxdata.lookup.urls')), + (r'^robots.txt$', serve_static_file, { + 'location': os.path.join(settings.STATIC_ROOT, 'robots.txt'), + 'content_type': 'text/plain' + }), + (r'^favicon.ico$', serve_static_file, { + 'location': os.path.join(settings.STATIC_ROOT, 'favicon.ico'), + 'content_type': 'image/x-icon'}), # Uncomment the next line to enable the admin: (r'^admin/(.*)', admin.site.root), ) diff --git a/requirements.txt b/requirements.txt index e1df005..e935c59 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,5 @@ --e svn+http://code.djangoproject.com/svn/django/branches/releases/1.2.X/#egg=django +-e svn+http://code.djangoproject.com/svn/django/branches/releases/1.3.X/#egg=django South --e bzr+http://code.0x2620.org/python-oxdjango/#egg=python-oxdjango -e bzr+http://code.0x2620.org/python-ox/#egg=python-ox chardet django-celery