diff options
| author | 2021-04-16 16:36:28 +0300 | |
|---|---|---|
| committer | 2021-05-03 20:19:50 +0300 | |
| commit | 1046fc5823e81672fec8ed55c0a974ea95837f0a (patch) | |
| tree | 105adf437f17c73124376df1fcd966ee37857554 /pydis_site/apps | |
| parent | Add code jam pages redirects (diff) | |
Migrate redirections from settings.py -> redirects.yaml
Diffstat (limited to 'pydis_site/apps')
| -rw-r--r-- | pydis_site/apps/redirect/redirects.yaml | 53 | ||||
| -rw-r--r-- | pydis_site/apps/redirect/tests.py | 13 | ||||
| -rw-r--r-- | pydis_site/apps/redirect/urls.py | 9 | 
3 files changed, 65 insertions, 10 deletions
diff --git a/pydis_site/apps/redirect/redirects.yaml b/pydis_site/apps/redirect/redirects.yaml new file mode 100644 index 00000000..546e24ae --- /dev/null +++ b/pydis_site/apps/redirect/redirects.yaml @@ -0,0 +1,53 @@ +# Resources +resources_index_redirect: +  original_path: pages/resources/ +  redirect_route: "resources:index" + +resources_resources_redirect: +  original_path: pages/resources/<str:category>/ +  redirect_route: "resources:resources" + +# Events +events_index_redirect: +  original_path: pages/events/ +  redirect_route: "events:index" + +events_code_jams_index_redirect: +  original_path: pages/code-jams/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams"] + +events_code_jams_one_redirect: +  original_path: pages/code-jams/code-jam-1-snakes-bot/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/1"] + +events_code_jams_two_redirect: +  original_path: pages/code-jams/code-jam-2/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/2"] + +events_code_jams_three_redirect: +  original_path: pages/code-jams/code-jam-3/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/3"] + +events_code_jams_four_redirect: +  original_path: pages/code-jams/code-jam-4/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/4"] + +events_code_jams_five_redirect: +  original_path: pages/code-jams/code-jam-5/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/5"] + +events_code_jams_six_redirect: +  original_path: pages/code-jams/code-jam-6/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/6"] + +events_code_jams_seven_redirect: +  original_path: pages/code-jams/code-jam-7/ +  redirect_route: "events:page" +  redirect_arguments: ["code-jams/7"] diff --git a/pydis_site/apps/redirect/tests.py b/pydis_site/apps/redirect/tests.py index a4bab933..ac60d1c8 100644 --- a/pydis_site/apps/redirect/tests.py +++ b/pydis_site/apps/redirect/tests.py @@ -1,3 +1,4 @@ +import yaml  from django.conf import settings  from django.test import TestCase  from django.urls import reverse @@ -16,12 +17,12 @@ class RedirectTests(TestCase):          1. Redirects only once.          2. Redirects to right URL.          """ -        for original_path, (redirect_route, name, static_args) in settings.REDIRECTIONS.items(): +        for name, data in yaml.safe_load(settings.REDIRECTIONS_PATH.read_text()).items():              with self.subTest( -                    original_path=original_path, -                    redirect_route=redirect_route, +                    original_path=data["original_path"], +                    redirect_route=data["redirect_route"],                      name=name, -                    static_args=static_args, +                    redirect_arguments=tuple(data.get("redirect_arguments", ())),                      args=TESTING_ARGUMENTS.get(name, ())              ):                  resp = self.client.get( @@ -36,8 +37,8 @@ class RedirectTests(TestCase):                  self.assertRedirects(                      resp,                      reverse( -                        f"home:{redirect_route}", -                        args=TESTING_ARGUMENTS.get(name, ()) + static_args +                        f"home:{data['redirect_route']}", +                        args=TESTING_ARGUMENTS.get(name, ()) + tuple(data.get("redirect_arguments", ()))                      ),                      status_code=301                  ) diff --git a/pydis_site/apps/redirect/urls.py b/pydis_site/apps/redirect/urls.py index 747c6bf4..d94a1ab7 100644 --- a/pydis_site/apps/redirect/urls.py +++ b/pydis_site/apps/redirect/urls.py @@ -1,3 +1,4 @@ +import yaml  from django.conf import settings  from django.urls import path @@ -6,12 +7,12 @@ from pydis_site.apps.redirect.views import CustomRedirectView  app_name = "redirect"  urlpatterns = [      path( -        original, +        data["original_path"],          CustomRedirectView.as_view( -            pattern_name=redirect_route, -            static_args=params +            pattern_name=data["redirect_route"], +            static_args=tuple(data.get("redirect_arguments", ()))          ),          name=name      ) -    for original, (redirect_route, name, params) in settings.REDIRECTIONS.items() +    for name, data in yaml.safe_load(settings.REDIRECTIONS_PATH.read_text()).items()  ]  |