X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/0ce1f45befb101b24a96fc9676a377a8cb7f6e8d..87996744612ff81cf1d041f745a0b6a6b42c5f03:/src/catalogue/api/views.py diff --git a/src/catalogue/api/views.py b/src/catalogue/api/views.py index 198f87fdd..941b122bd 100644 --- a/src/catalogue/api/views.py +++ b/src/catalogue/api/views.py @@ -251,6 +251,15 @@ class BookDetail2(RetrieveAPIView): serializer_class = serializers.BookSerializer2 +class BookSyncView(RetrieveAPIView): + queryset = Book.objects.all() + lookup_field = 'slug' + + def retrieve(self, request, *args, **kwargs): + instance = self.get_object() + return Response(json.loads(instance.get_sync())) + + @vary_on_auth # Because of embargo links. class EbookList(BookList): serializer_class = serializers.EbookSerializer @@ -537,15 +546,18 @@ class BookMediaView(ListAPIView): pagination_class = None def get_queryset(self): - return BookMedia.objects.filter(book__slug=self.kwargs['slug'], type=self.kwargs['type']).order_by('index') + return BookMedia.objects.filter( + book__slug=self.kwargs['slug'], + type=self.kwargs['type'] + ).order_by('index') from .tojson import conv from lxml import etree from rest_framework.views import APIView + class BookJsonView(APIView): def get(self, request, slug): book = get_object_or_404(Book, slug=slug) js = conv(etree.parse(book.xml_file.path)) return JsonResponse(js, json_dumps_params={'ensure_ascii': False}) -