X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/c48ff2d3e64065793c24cfb8ae151f02b8e6646a..4bb5959d246fa0528b83fc3e21f9e5782ec34236:/src/cover/views.py diff --git a/src/cover/views.py b/src/cover/views.py index a99c8d5e..bfc3ee33 100644 --- a/src/cover/views.py +++ b/src/cover/views.py @@ -8,8 +8,8 @@ from django.http import HttpResponse, HttpResponseRedirect, Http404 from django.shortcuts import get_object_or_404, render from django.views.decorators.csrf import csrf_exempt from django.views.decorators.http import require_POST -from catalogue.helpers import active_tab -from catalogue.models import Chunk +from documents.helpers import active_tab +from documents.models import Chunk from cover.models import Image from cover import forms @@ -35,17 +35,30 @@ def preview(request, book, chunk=None, rev=None): else: revision = chunk.publishable() if revision is None: - raise Http404 + revision = chunk.head xml = revision.materialize().encode('utf-8') try: info = BookInfo.from_bytes(xml) except: return HttpResponseRedirect(os.path.join(settings.STATIC_URL, "img/sample_cover.png")) - cover = make_cover(info) + width = request.GET.get('width') + width = int(width) if width else None + height=request.GET.get('height') + height = int(height) if height else None + cover = make_cover(info, width=width, height=height) + #cover = make_cover(info) response = HttpResponse(content_type=cover.mime_type()) - img = cover.image().resize(PREVIEW_SIZE, Image.ANTIALIAS) + if height or width: + size = (width, height) + else: + size = PREVIEW_SIZE + img = cover.image().resize(size, Image.ANTIALIAS) img.save(response, cover.format) + + if 'download' in request.GET: + response['Content-Disposition'] = 'attachment; filename=%s.jpg' % chunk.book.slug + return response