From 886286a97f29204af33d0061ae51eb1b19ec0441 Mon Sep 17 00:00:00 2001 From: Jan Szejko Date: Fri, 10 Nov 2017 13:02:01 +0100 Subject: [PATCH] predictable urls to cover images --- apps/cover/urls.py | 1 + apps/cover/views.py | 25 +++++++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/cover/urls.py b/apps/cover/urls.py index f1a48d35..1146f62d 100644 --- a/apps/cover/urls.py +++ b/apps/cover/urls.py @@ -16,5 +16,6 @@ urlpatterns = patterns('cover.views', url(r'^image/$', 'image_list', name='cover_image_list'), url(r'^image/(?P\d+)/?$', 'image', name='cover_image'), + url(r'^image/(?P\d+)/file/', 'image_file', name='cover_file'), url(r'^add_image/$', 'add_image', name='cover_add_image'), ) diff --git a/apps/cover/views.py b/apps/cover/views.py index f493392d..bbcf28e5 100644 --- a/apps/cover/views.py +++ b/apps/cover/views.py @@ -46,8 +46,8 @@ def preview(request, book, chunk=None, rev=None): return HttpResponseRedirect(os.path.join(settings.STATIC_URL, "img/sample_cover.png")) cover = make_cover(info) response = HttpResponse(content_type=cover.mime_type()) - image = cover.image().resize(PREVIEW_SIZE, Image.ANTIALIAS) - image.save(response, cover.format) + img = cover.image().resize(PREVIEW_SIZE, Image.ANTIALIAS) + img.save(response, cover.format) return response @@ -75,35 +75,40 @@ def preview_from_xml(request): except OSError: pass fname = os.path.join(cover_dir, "%s.%s" % (coverid, cover.ext())) - image = cover.image().resize(PREVIEW_SIZE, Image.ANTIALIAS) - image.save(os.path.join(settings.MEDIA_ROOT, fname)) + img = cover.image().resize(PREVIEW_SIZE, Image.ANTIALIAS) + img.save(os.path.join(settings.MEDIA_ROOT, fname)) return HttpResponse(os.path.join(settings.MEDIA_URL, fname)) @active_tab('cover') def image(request, pk): - image = get_object_or_404(Image, pk=pk) + img = get_object_or_404(Image, pk=pk) if request.user.has_perm('cover.change_image'): if request.method == "POST": - form = forms.ImageEditForm(request.POST, request.FILES, instance=image) + form = forms.ImageEditForm(request.POST, request.FILES, instance=img) if form.is_valid(): form.save() - return HttpResponseRedirect(image.get_absolute_url()) + return HttpResponseRedirect(img.get_absolute_url()) else: - form = forms.ImageEditForm(instance=image) + form = forms.ImageEditForm(instance=img) editable = True else: - form = forms.ReadonlyImageEditForm(instance=image) + form = forms.ReadonlyImageEditForm(instance=img) editable = False return render(request, "cover/image_detail.html", { - "object": Image.objects.get(id=image.id), + "object": Image.objects.get(id=img.id), "form": form, "editable": editable, }) +def image_file(request, pk): + img = get_object_or_404(Image, pk=pk) + return HttpResponseRedirect(img.file.url) + + @active_tab('cover') def image_list(request): return render(request, "cover/image_list.html", { -- 2.20.1