X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/4f8142e9c019b68f81e16e839025302957905d0a..c26ab6ee15974c1133a6d08c459b51199185f25f:/apps/api/handlers.py?ds=sidebyside diff --git a/apps/api/handlers.py b/apps/api/handlers.py index 0255c05c5..98a57426c 100644 --- a/apps/api/handlers.py +++ b/apps/api/handlers.py @@ -4,6 +4,7 @@ from datetime import datetime, timedelta import json +from urlparse import urljoin from django.conf import settings from django.contrib.sites.models import Site @@ -96,7 +97,7 @@ class BookDetails(object): @classmethod def author(cls, book): - return ", ".join(t.name for t in book.tags.filter(category='author')) + return ",".join(t[0] for t in book.related_info()['tags']['author']) @classmethod def href(cls, book): @@ -111,16 +112,19 @@ class BookDetails(object): @classmethod def children(cls, book): - """ Returns all media for a book. """ + """ Returns all children for a book. """ return book.children.all() @classmethod def media(cls, book): """ Returns all media for a book. """ - return book.media.all() + @classmethod + def cover(cls, book): + return MEDIA_BASE + book.cover.url if book.cover else '' + class BookDetailHandler(BaseHandler, BookDetails): @@ -130,7 +134,7 @@ class BookDetailHandler(BaseHandler, BookDetails): """ allowed_methods = ['GET'] fields = ['title', 'parent', 'children'] + Book.formats + [ - 'media', 'url'] + book_tag_categories + 'media', 'url', 'cover'] + book_tag_categories @piwik_track def read(self, request, book): @@ -148,7 +152,7 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): """ allowed_methods = ('GET',) model = Book - fields = ['author', 'href', 'title', 'url'] + fields = ['author', 'href', 'title', 'url', 'cover'] @piwik_track def read(self, request, tags, top_level=False): @@ -186,6 +190,7 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): class BooksHandler(BookDetailHandler): + allowed_methods = ('GET', 'POST') model = Book fields = ['author', 'href', 'title', 'url'] anonymous = AnonymousBooksHandler