use ints for stats
[wolnelektury.git] / src / catalogue / api / views.py
index 7457b6f..e5005e2 100644 (file)
@@ -226,6 +226,18 @@ class BookList2(ListAPIView):
         return books
 
 
         return books
 
 
+class BookRecommendationsView(ListAPIView):
+    serializer_class = serializers.BookSerializer2
+    pagination_class = None
+
+    def get_queryset(self):
+        book = get_object_or_404(
+            Book,
+            slug=self.kwargs['slug']
+        )
+        return book.get_recommended(limit=3)
+
+
 class BookList11Labs(BookList2):
     serializer_class = serializers.BookSerializer11Labs
 
 class BookList11Labs(BookList2):
     serializer_class = serializers.BookSerializer11Labs
 
@@ -259,7 +271,7 @@ class BookSyncView(RetrieveAPIView):
         instance = self.get_object()
         return Response([
             {"id": i, "timestamp": ts}
         instance = self.get_object()
         return Response([
             {"id": i, "timestamp": ts}
-            for (i, ts) in json.loads(instance.get_sync())
+            for (i, ts) in instance.get_sync()
         ])
 
     
         ])
 
     
@@ -544,6 +556,15 @@ class BookFragmentView(RetrieveAPIView):
         return book.choose_fragment()
 
 
         return book.choose_fragment()
 
 
+class BookChildrenView(ListAPIView):
+    serializer_class = serializers.BookSerializer2
+    pagination_class = None
+
+    def get_queryset(self):
+        book = get_object_or_404(Book, slug=self.kwargs['slug'])
+        return book.get_children()
+
+
 class BookMediaView(ListAPIView):
     serializer_class = serializers.MediaSerializer2
     pagination_class = None
 class BookMediaView(ListAPIView):
     serializer_class = serializers.MediaSerializer2
     pagination_class = None