X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/368d5388fe92a5986837973afda12253173b13cc..94a3d5dc103e37b41a02b5c1c611621e91ba4b75:/src/api/handlers.py diff --git a/src/api/handlers.py b/src/api/handlers.py index 2e847c594..cd24561f4 100644 --- a/src/api/handlers.py +++ b/src/api/handlers.py @@ -19,8 +19,8 @@ from api.models import BookUserData from catalogue.forms import BookImportForm from catalogue.models import Book, Tag, BookMedia, Fragment, Collection from catalogue.models.tag import prefetch_relations -from catalogue.utils import is_subscribed from librarian.cover import WLCover +from paypal.rest import user_is_subscribed from picture.models import Picture from picture.forms import PictureImportForm from social.utils import likes @@ -33,7 +33,7 @@ from . import emitters # Register our emitters API_BASE = WL_BASE = MEDIA_BASE = lazy( lambda: u'https://' + Site.objects.get_current().domain, unicode)() -SORT_KEY_SEP = ',' +SORT_KEY_SEP = '$' category_singular = { 'authors': 'author', @@ -63,6 +63,7 @@ def read_tags(tags, request, allowed): def process(category, slug): if category == 'book': + # FIXME: Unused? try: books.append(Book.objects.get(slug=slug)) except Book.DoesNotExist: @@ -221,6 +222,7 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): model = Book fields = book_list_fields + # FIXME: Unused? @classmethod def genres(cls, book): """ Returns all media for a book. """ @@ -239,6 +241,7 @@ class AnonymousBooksHandler(AnonymousBaseHandler, BookDetails): are returned. """ if pk is not None: + # FIXME: Unused? try: return Book.objects.get(pk=pk) except Book.DoesNotExist: @@ -330,7 +333,7 @@ class BooksHandler(BookDetailHandler): class EpubHandler(BookDetailHandler): def read(self, request, slug): - if not is_subscribed(request.user): + if not user_is_subscribed(request.user): return rc.FORBIDDEN try: book = Book.objects.get(slug=slug) @@ -378,16 +381,13 @@ class AnonFilterBooksHandler(AnonymousBooksHandler): return None def read(self, request): + key_sep = '$' search_string = request.GET.get('search') is_lektura = self.parse_bool(request.GET.get('lektura')) is_audiobook = self.parse_bool(request.GET.get('audiobook')) preview = self.parse_bool(request.GET.get('preview')) new_api = request.GET.get('new_api') - if new_api: - key_sep = ',' - else: - key_sep = '$' after = request.GET.get('after') count = int(request.GET.get('count', 50)) books = self.order_books(Book.objects.distinct(), new_api) @@ -609,6 +609,7 @@ class TagsHandler(BaseHandler, TagDetails): def read(self, request, category=None, pk=None): """ Lists all tags in the category (eg. all themes). """ if pk is not None: + # FIXME: Unused? try: return Tag.objects.exclude(category='set').get(pk=pk) except Book.DoesNotExist: @@ -733,7 +734,7 @@ class UserDataHandler(BaseHandler): if not request.user.is_authenticated(): return rc.FORBIDDEN if slug is None: - return {'username': request.user.username, 'premium': is_subscribed(request.user)} + return {'username': request.user.username, 'premium': user_is_subscribed(request.user)} try: book = Book.objects.get(slug=slug) except Book.DoesNotExist: @@ -762,6 +763,7 @@ class UserDataHandler(BaseHandler): class UserShelfHandler(BookDetailHandler): fields = book_list_fields + ['liked'] + # FIXME: Unused? def parse_bool(self, s): if s in ('true', 'false'): return s == 'true'