add cover thumb to api,
authorRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Thu, 8 Nov 2012 14:50:40 +0000 (15:50 +0100)
committerRadek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>
Thu, 8 Nov 2012 14:52:00 +0000 (15:52 +0100)
fix duplicate audiobooks in api

apps/api/handlers.py
requirements.txt

index 437b3be..e04710f 100644 (file)
@@ -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
index c7e33c2..036031e 100644 (file)
@@ -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