From: Radek Czajka Date: Thu, 8 Nov 2012 14:50:40 +0000 (+0100) Subject: add cover thumb to api, X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/ac21bdd330d4f33ec70509695f55bf65d8af0427 add cover thumb to api, fix duplicate audiobooks in api --- diff --git a/apps/api/handlers.py b/apps/api/handlers.py index 437b3be4c..e04710f32 100644 --- a/apps/api/handlers.py +++ b/apps/api/handlers.py @@ -12,6 +12,7 @@ from django.core.cache import get_cache from django.core.urlresolvers import reverse from piston.handler import AnonymousBaseHandler, BaseHandler from piston.utils import rc +from sorl.thumbnail import default from api.helpers import timestamp from api.models import Deleted @@ -134,6 +135,11 @@ class BookDetails(object): def cover(cls, book): return MEDIA_BASE + book.cover.url if book.cover else '' + @classmethod + def cover_thumb(cls, book): + return MEDIA_BASE + default.backend.get_thumbnail( + book.cover, "139x193").url + class BookDetailHandler(BaseHandler, BookDetails): @@ -143,7 +149,7 @@ class BookDetailHandler(BaseHandler, BookDetails): """ allowed_methods = ['GET'] fields = ['title', 'parent', 'children'] + Book.formats + [ - 'media', 'url', 'cover'] + [ + 'media', 'url', 'cover', 'cover_thumb'] + [ category_plural[c] for c in book_tag_categories] @piwik_track @@ -192,9 +198,9 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): if top_level: books = books.filter(parent=None) if audiobooks: - books = books.filter(media__type='mp3') + books = books.filter(media__type='mp3').distinct() if daisy: - books = books.filter(media__type='daisy') + books = books.filter(media__type='daisy').distinct() if books.exists(): return books diff --git a/requirements.txt b/requirements.txt index c7e33c2f2..036031e93 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ South>=0.7 # migrations for django django-pipeline>=1.2 django-pagination>=1.0 django-maintenancemode>=0.10 -django-piston<=0.2.3 +django-piston==0.2.2 #django-jsonfield -e git+git://github.com/bradjasper/django-jsonfield.git@2f427368ad70bf8d9a0580df58ec0eb0654d62ae#egg=django-jsonfield django-picklefield