From d0b6ec7014407c669c8d9fe28144d5967cccfb84 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Tue, 25 Apr 2023 18:12:41 +0200 Subject: [PATCH] Simplify POST and PUT response. --- paste/models.py | 7 +++++-- paste/views.py | 13 ++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/paste/models.py b/paste/models.py index 14472e2..8701a0c 100644 --- a/paste/models.py +++ b/paste/models.py @@ -48,8 +48,11 @@ class Paste(models.Model): """Computes size.""" self.size = len(self.content) - def get_absolute_url(self): - return reverse("paste", kwargs={"path": self.slug}) + def get_absolute_url(self, request=None): + uri = reverse("paste", kwargs={"path": self.slug}) + if request: + uri = request.build_absolute_uri(uri) + return uri def incr_viewcount(self): """Increment view counter.""" diff --git a/paste/views.py b/paste/views.py index 09cab68..46a4b5a 100644 --- a/paste/views.py +++ b/paste/views.py @@ -35,7 +35,7 @@ def get_files(request): def pastes_as_table(request, pastes, headers=("URL", "size", "filename")): def paste_attr(paste, attr): if attr == "URL": - return request.build_absolute_uri(paste.get_absolute_url()) + return paste.get_absolute_url(request) value = getattr(paste, attr) if isinstance(value, datetime): return value.isoformat(timespec="seconds") @@ -75,9 +75,7 @@ class PasteView(View): paste.content = request.read().decode("UTF-8") paste.compute_size() paste.save() - return HttpResponse( - pastes_as_table(request, [paste]), content_type="text/plain" - ) + return HttpResponse("- " + paste.get_absolute_url(request) + "\n") @method_decorator(csrf_exempt, name="dispatch") @@ -100,7 +98,12 @@ class IndexView(PasteView): paste.save() pastes.append(paste) - return HttpResponse(pastes_as_table(request, pastes), content_type="text/plain") + return HttpResponse( + "- " + + " \n- ".join(paste.get_absolute_url(request) for paste in pastes) + + "\n", + content_type="text/plain", + ) class ListView(View):