X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/c48ff2d3e64065793c24cfb8ae151f02b8e6646a..1c79a789f6b773c80bb203e93848ad159b779860:/src/cover/views.py?ds=sidebyside diff --git a/src/cover/views.py b/src/cover/views.py index a99c8d5e..b1261e6d 100644 --- a/src/cover/views.py +++ b/src/cover/views.py @@ -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