X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/b93158529c5fceeb2b9d6a054e02dcc319a104b8..1615a0292722f1fbbbc67a77362b40a023fdebb9:/src/api/handlers.py diff --git a/src/api/handlers.py b/src/api/handlers.py index 3c6761b40..199f030ce 100644 --- a/src/api/handlers.py +++ b/src/api/handlers.py @@ -161,7 +161,7 @@ class BookDetailHandler(BaseHandler, BookDetails): """ allowed_methods = ['GET'] fields = ['title', 'parent', 'children'] + Book.formats + [ - 'media', 'url', 'cover', 'cover_thumb', 'simple_thumb', 'simple_cover', '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 @@ -210,8 +210,6 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): except ValueError: return rc.NOT_FOUND - top_level = top_level or newest - if 'after' in request.GET: after = request.GET['after'] if 'before' in request.GET: @@ -285,6 +283,9 @@ class EBooksHandler(AnonymousBooksHandler): class BookProxy(models.Model): + class Meta: + managed = False + def __init__(self, book, key): self.book = book self.key = key @@ -393,18 +394,18 @@ def add_tag_getters(): 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