[{"id":1805541,"web_url":"http://patchwork.ozlabs.org/comment/1805541/","msgid":"<87fu9eo8df.fsf@linkitivity.dja.id.au>","list_archive_url":null,"date":"2017-11-16T09:55:40","subject":"Re: [PATCH v2 1/9] models: Remove 'permalink' decorator","submitter":{"id":65792,"url":"http://patchwork.ozlabs.org/api/people/65792/","name":"Daniel Axtens","email":"dja@axtens.net"},"content":"Hi Stephen,\n\nI've been working on this too - I had queued up your patches locally and\ndone some work.\n\nI think you're missing the following two hunks, apart from that it looks\ngood and passes all my tests.\n\ndiff --git a/patchwork/models.py b/patchwork/models.py\nindex 3bf770d6c5f2..7d413d933614 100644\n--- a/patchwork/models.py\n+++ b/patchwork/models.py\n@@ -383,9 +383,8 @@ class SeriesMixin(object):\n \n class CoverLetter(SeriesMixin, Submission):\n \n-    @models.permalink\n     def get_mbox_url(self):\n-        return ('cover-mbox', (), {'cover_id': self.id})\n+        return reverse('cover-mbox', kwargs={'cover_id': self.id})\n \n \n @python_2_unicode_compatible\n@@ -697,9 +696,8 @@ class Series(FilenameMixin, models.Model):\n                                           patch=patch,\n                                           number=number)\n \n-    @models.permalink\n     def get_mbox_url(self):\n-        return ('series-mbox', (), {'series_id': self.id})\n+        return reverse('series-mbox', kwargs={'series_id': self.id})\n \n     def __str__(self):\n         return self.name if self.name else 'Untitled series #%d' % self.id\n\nRegards,\nDaniel\n\n\n> This is deprecated in Django 1.11 [1] Let's pre-empt the inevitable\n> warnings...or not [2].\n>\n> [1] https://docs.djangoproject.com/en/dev/releases/1.11/#features-deprecated-in-1-11\n> [2] https://docs.djangoproject.com/en/dev/releases/1.11/#deprecating-warnings-are-no-longer-loud-by-default\n>\n> Signed-off-by: Stephen Finucane <stephen@that.guru>\n> ---\n>  patchwork/models.py | 17 ++++++++---------\n>  1 file changed, 8 insertions(+), 9 deletions(-)\n>\n> diff --git a/patchwork/models.py b/patchwork/models.py\n> index d4075cf3..3bf770d6 100644\n> --- a/patchwork/models.py\n> +++ b/patchwork/models.py\n> @@ -34,6 +34,7 @@ from django.utils.encoding import python_2_unicode_compatible\n>  from django.utils.functional import cached_property\n>  \n>  from patchwork.compat import is_authenticated\n> +from patchwork.compat import reverse\n>  from patchwork.fields import HashField\n>  from patchwork.hasher import hash_diff\n>  \n> @@ -548,13 +549,11 @@ class Patch(SeriesMixin, Submission):\n>  \n>          return counts\n>  \n> -    @models.permalink\n>      def get_absolute_url(self):\n> -        return ('patch-detail', (), {'patch_id': self.id})\n> +        return reverse('patch-detail', kwargs={'patch_id': self.id})\n>  \n> -    @models.permalink\n>      def get_mbox_url(self):\n> -        return ('patch-mbox', (), {'patch_id': self.id})\n> +        return reverse('patch-mbox', kwargs={'patch_id': self.id})\n>  \n>      def __str__(self):\n>          return self.name\n> @@ -776,17 +775,17 @@ class Bundle(models.Model):\n>          return BundlePatch.objects.create(bundle=self, patch=patch,\n>                                            order=max_order + 1)\n>  \n> -    @models.permalink\n>      def get_absolute_url(self):\n> -        return ('bundle-detail', (), {\n> +        return reverse('bundle-detail', kwargs={\n>              'username': self.owner.username,\n>              'bundlename': self.name,\n>          })\n>  \n> -    @models.permalink\n>      def get_mbox_url(self):\n> -        return ('bundle-mbox', (), {'bundlename': self.name,\n> -                                    'username': self.owner.username})\n> +        return reverse('bundle-mbox', kwargs={\n> +            'bundlename': self.name,\n> +            'username': self.owner.username\n> +        })\n>  \n>      class Meta:\n>          unique_together = [('owner', 'name')]\n> -- \n> 2.13.6\n>\n> _______________________________________________\n> Patchwork mailing list\n> Patchwork@lists.ozlabs.org\n> https://lists.ozlabs.org/listinfo/patchwork","headers":{"Return-Path":"<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","patchwork@lists.ozlabs.org"],"Delivered-To":["patchwork-incoming@bilbo.ozlabs.org","patchwork@lists.ozlabs.org"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3ycxT96CLbz9s7M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 16 Nov 2017 20:55:57 +1100 (AEDT)","from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3ycxT94WfFzDqxn\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 16 Nov 2017 20:55:57 +1100 (AEDT)","from mail-pg0-x244.google.com (mail-pg0-x244.google.com\n\t[IPv6:2607:f8b0:400e:c05::244])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3ycxT05x1MzDqtL\n\tfor <patchwork@lists.ozlabs.org>;\n\tThu, 16 Nov 2017 20:55:47 +1100 (AEDT)","by mail-pg0-x244.google.com with SMTP id s11so14757488pgc.5\n\tfor <patchwork@lists.ozlabs.org>;\n\tThu, 16 Nov 2017 01:55:47 -0800 (PST)","from localhost (ppp121-45-207-150.bras1.cbr1.internode.on.net.\n\t[121.45.207.150]) by smtp.gmail.com with ESMTPSA id\n\tt84sm2187314pfe.160.2017.11.16.01.55.43\n\t(version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256);\n\tThu, 16 Nov 2017 01:55:44 -0800 (PST)"],"Authentication-Results":["ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=axtens.net header.i=@axtens.net\n\theader.b=\"pslg1Nhg\"; dkim-atps=neutral","lists.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=axtens.net header.i=@axtens.net\n\theader.b=\"pslg1Nhg\"; dkim-atps=neutral","ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=axtens.net\n\t(client-ip=2607:f8b0:400e:c05::244; helo=mail-pg0-x244.google.com;\n\tenvelope-from=dja@axtens.net; receiver=<UNKNOWN>)","lists.ozlabs.org; dkim=pass (1024-bit key;\n\tunprotected) header.d=axtens.net header.i=@axtens.net\n\theader.b=\"pslg1Nhg\"; dkim-atps=neutral"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=axtens.net; s=google;\n\th=from:to:subject:in-reply-to:references:date:message-id:mime-version;\n\tbh=kz60vkNEm3jnsusS5MX8NshiIgh4wjwX8mJ98noDVPY=;\n\tb=pslg1Nhgp9hoGCz1evUJYEPQosCdEY3oOCiQTais7Ft2OzYlLB1ZoMaXknjlAF3G/E\n\tQP0bA8YRd64+MJlSsKXwMr3PeT+K+DsZ7ItkcdD1cFluXi1TZdbF3nV+4nSNhSMpQFP9\n\tc3LosZ3ojdh+lXNLxKQVBpskBuHkSDng9aqiY=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:subject:in-reply-to:references:date\n\t:message-id:mime-version;\n\tbh=kz60vkNEm3jnsusS5MX8NshiIgh4wjwX8mJ98noDVPY=;\n\tb=VJdbj/NSK+kumzUqkzx+cbybsqQyq0CkD5FXjaWQgyn/4guFdnPKBki2d6HzlU9oY+\n\twBydADzFIsXQQ4OsLKckAXazUmfDIESsv7KovbJRSRY5Ip0Oc0dzU+JbUjc0+Gxn6Bjg\n\tYpb8kjiS78M0cW9G6PB36g56HwQWgvlJg/E+UBvdtM1zhHNUc+OAePlpgVrqVyLXZcpx\n\tE6MsqKH1/2aoz0spQajf3RbwTx/m+xp+eogI5HSZW8QwBkCF80GW9wt36SMarSCuEdjs\n\tlusNvpFqNlA/iGSUc7SLfcFf6VAjPATjKkKVm+vT52mUGm1XrAMMXgS+yv/9YopqbmG0\n\t8m8g==","X-Gm-Message-State":"AJaThX51cYSL4Vt2JrhJe0p4XOP+2Z6IlklW8TpVizEEGqurOT5CqLQl\n\t7/K3rdB1gOwFF9DaYouF2qNIZg==","X-Google-Smtp-Source":"AGs4zMZZI4Ag7j3+jIDKzyEjOtJ/oZLpzqmihEbUkmkA6xv9bCGEH7yQXv4AmsdNtY7afkyE5aOC3Q==","X-Received":"by 10.159.253.68 with SMTP id b4mr1159481plx.113.1510826144990; \n\tThu, 16 Nov 2017 01:55:44 -0800 (PST)","From":"Daniel Axtens <dja@axtens.net>","To":"Stephen Finucane <stephen@that.guru>, patchwork@lists.ozlabs.org","Subject":"Re: [PATCH v2 1/9] models: Remove 'permalink' decorator","In-Reply-To":"<20171102102844.18931-2-stephen@that.guru>","References":"<20171102102844.18931-1-stephen@that.guru>\n\t<20171102102844.18931-2-stephen@that.guru>","Date":"Thu, 16 Nov 2017 20:55:40 +1100","Message-ID":"<87fu9eo8df.fsf@linkitivity.dja.id.au>","MIME-Version":"1.0","X-BeenThere":"patchwork@lists.ozlabs.org","X-Mailman-Version":"2.1.24","Precedence":"list","List-Id":"Patchwork development <patchwork.lists.ozlabs.org>","List-Unsubscribe":"<https://lists.ozlabs.org/options/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=unsubscribe>","List-Archive":"<http://lists.ozlabs.org/pipermail/patchwork/>","List-Post":"<mailto:patchwork@lists.ozlabs.org>","List-Help":"<mailto:patchwork-request@lists.ozlabs.org?subject=help>","List-Subscribe":"<https://lists.ozlabs.org/listinfo/patchwork>,\n\t<mailto:patchwork-request@lists.ozlabs.org?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org","Sender":"\"Patchwork\"\n\t<patchwork-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"}}]