# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
import json
+import os.path
+from django.conf import settings
from django.http import Http404, HttpResponse
from django.utils.decorators import method_decorator
from django.views.decorators.cache import never_cache
queryset = Book.objects.none() # Required for DjangoModelPermissions
serializer_class = serializers.BookListSerializer
+ def get(self, request, filename=None, **kwargs):
+ 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()
+ return HttpResponse(content, content_type=request.accepted_media_type)
+ except:
+ pass
+ return super().get(request, filename=filename, **kwargs)
+
def get_queryset(self):
try:
tags, ancestors = read_tags(
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)
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)