From 5e5d6f9c6aa696965266cecac0182241a4c5ce40 Mon Sep 17 00:00:00 2001 From: 0xMRTT <0xMRTT@proton.me> Date: Mon, 16 Oct 2023 11:27:12 +0200 Subject: [PATCH] fix(urls): use path and path converters (#228) * fix(urls): use path and path converters * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix(urls): change re_path into path * fix(urls): remove unused imports * fix(urls): url names * fix(tests): update reverse * fix(tags): update reverse --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Johannes Wilm --- avatar/templatetags/avatar_tags.py | 2 +- avatar/urls.py | 25 +++++++++++++++---------- tests/tests.py | 12 ++++++------ 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/avatar/templatetags/avatar_tags.py b/avatar/templatetags/avatar_tags.py index 59b4b8b..2c7e392 100644 --- a/avatar/templatetags/avatar_tags.py +++ b/avatar/templatetags/avatar_tags.py @@ -94,7 +94,7 @@ def primary_avatar(user, width=settings.AVATAR_DEFAULT_SIZE, height=None): else: kwargs["height"] = height - url = reverse("avatar_render_primary", kwargs=kwargs) + url = reverse("avatar:render_primary", kwargs=kwargs) return """%s""" % ( url, width, diff --git a/avatar/urls.py b/avatar/urls.py index 9a043f8..12f7472 100644 --- a/avatar/urls.py +++ b/avatar/urls.py @@ -1,19 +1,24 @@ -from django.urls import re_path +from django.urls import path from avatar import views +# For reversing namespaced urls +# https://docs.djangoproject.com/en/4.1/topics/http/urls/#reversing-namespaced-urls +app_name = "avatar" + urlpatterns = [ - re_path(r"^add/$", views.add, name="avatar_add"), - re_path(r"^change/$", views.change, name="avatar_change"), - re_path(r"^delete/$", views.delete, name="avatar_delete"), - re_path( - r"^render_primary/(?P[\w\d\@\.\-_]+)/(?P[\d]+)/$", + path("add/", views.add, name="add"), + path("change/", views.change, name="change"), + path("delete/", views.delete, name="delete"), + # https://docs.djangoproject.com/en/4.1/topics/http/urls/#path-converters + path( + "render_primary///", views.render_primary, - name="avatar_render_primary", + name="render_primary", ), - re_path( - r"^render_primary/(?P[\w\d\@\.\-_]+)/(?P[\d]+)/(?P[\d]+)/$", + path( + "render_primary////", views.render_primary, - name="avatar_render_primary", + name="render_primary", ), ] diff --git a/tests/tests.py b/tests/tests.py index 79d6874..742e816 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -43,7 +43,7 @@ class AssertSignal: def upload_helper(o, filename): f = open(os.path.join(o.testdatapath, filename), "rb") response = o.client.post( - reverse("avatar_add"), + reverse("avatar:add"), { "avatar": f, }, @@ -165,7 +165,7 @@ class AvatarTests(TestCase): def test_default_url(self): response = self.client.get( reverse( - "avatar_render_primary", + "avatar:render_primary", kwargs={ "user": self.user.username, "width": 80, @@ -196,7 +196,7 @@ class AvatarTests(TestCase): receiver = AssertSignal() avatar_deleted.connect(receiver) response = self.client.post( - reverse("avatar_delete"), + reverse("avatar:delete"), { "choices": [avatar[0].id], }, @@ -216,7 +216,7 @@ class AvatarTests(TestCase): primary = get_primary_avatar(self.user) oid = primary.id self.client.post( - reverse("avatar_delete"), + reverse("avatar:delete"), { "choices": [oid], }, @@ -229,7 +229,7 @@ class AvatarTests(TestCase): def test_change_avatar_get(self): self.test_normal_image_upload() - response = self.client.get(reverse("avatar_change")) + response = self.client.get(reverse("avatar:change")) self.assertEqual(response.status_code, 200) self.assertIsNotNone(response.context["avatar"]) @@ -239,7 +239,7 @@ class AvatarTests(TestCase): old_primary = Avatar.objects.get(user=self.user, primary=True) choice = Avatar.objects.filter(user=self.user, primary=False)[0] response = self.client.post( - reverse("avatar_change"), + reverse("avatar:change"), { "choice": choice.pk, },