book.cover, "139x193").url if book.cover else ''
@classmethod
- def cover_source_image(cls, book):
- url = book.cover_source()
- return url.rstrip('/') + '/file/'
+ def simple_thumb(cls, book):
+ return MEDIA_BASE + book.cover_api_thumb.url if book.cover_api_thumb else ''
+
+ @classmethod
+ def simple_cover(cls, book):
+ return MEDIA_BASE + book.simple_cover.url if book.simple_cover else ''
class BookDetailHandler(BaseHandler, BookDetails):
"""
allowed_methods = ['GET']
fields = ['title', 'parent', 'children'] + Book.formats + [
- 'media', 'url', 'cover', 'cover_thumb', 'fragment_data'] + [
+ 'media', 'url', 'cover', 'cover_thumb', 'simple_thumb', 'simple_cover', 'fragment_data', 'preview'] + [
category_plural[c] for c in book_tag_categories]
@piwik_track
"""
allowed_methods = ('GET',)
model = Book
- fields = book_tag_categories + ['href', 'title', 'url', 'cover', 'cover_thumb', 'slug']
+ fields = book_tag_categories + ['href', 'title', 'url', 'cover', 'cover_thumb', 'slug', 'simple_thumb']
@classmethod
def genres(cls, book):
class BookProxy(models.Model):
+ class Meta:
+ managed = False
+
def __init__(self, book, key):
self.book = book
self.key = key
class FilterBooksHandler(AnonymousBooksHandler):
fields = book_tag_categories + [
- 'href', 'title', 'url', 'cover', 'cover_thumb', 'slug', 'key', 'cover_source_image']
+ 'href', 'title', 'url', 'cover', 'cover_thumb', 'simple_thumb', 'slug', 'key']
def read(self, request):
key_sep = '$'
setattr(BookDetails, plural, _tags_getter(singular))
setattr(BookDetails, singular, _tag_getter(singular))
+
add_tag_getters()
# add fields for files in Book
def _file_getter(book_format):
- field = "%s_file" % book_format
- @classmethod
- def get_file(cls, book):
- f = getattr(book, field)
- if f:
- return MEDIA_BASE + f.url
+ @staticmethod
+ def get_file(book):
+ f_url = book.media_url(book_format)
+ if f_url:
+ return MEDIA_BASE + f_url
else:
return ''
return get_file
tags = Tag.objects.filter(category=category_sng).exclude(items=None).order_by('slug')
+ book_only = request.GET.get('book_only') == 'true'
+ picture_only = request.GET.get('picture_only') == 'true'
+ if book_only:
+ tags = tags.filter(for_books=True)
+ if picture_only:
+ tags = tags.filter(for_pictures=True)
+
if after:
tags = tags.filter(slug__gt=after)
if before: