Save audiobook project funding info in the model.
[wolnelektury.git] / src / catalogue / api / views.py
index 335a301..faeeb3c 100644 (file)
@@ -45,7 +45,7 @@ class BookList(ListAPIView):
     serializer_class = serializers.BookListSerializer
 
     def get(self, request, filename=None, **kwargs):
-        if filename and 'count' not in request.query_params:
+        if filename and not kwargs.get('tags') and 'count' not in request.query_params:
             try:
                 with open(os.path.join(settings.MEDIA_ROOT, 'api', '%s.%s' % (filename, request.accepted_renderer.format)), 'rb') as f:
                     content = f.read()
@@ -135,6 +135,10 @@ class BookList(ListAPIView):
         name = request.POST.get('name', '')
         part_name = request.POST.get('part_name', '')
 
+        project_data = request.POST.get('project', {})
+        project_description = project_data.get('description', '')
+        project_icon = project_data.get('icon', '')
+
         _rest, slug = request.POST['book'].rstrip('/').rsplit('/', 1)
         book = Book.objects.get(slug=slug)
 
@@ -146,6 +150,8 @@ class BookList(ListAPIView):
         bm.name = name
         bm.part_name = part_name
         bm.index = index
+        bm.project_description = project_description
+        bm.project_icon = project_icon
         bm.file.save(None, request.data['file'], save=False)
         bm.save(parts_count=parts_count)