From b3c409f0fddc9cdb7f63adc2e202e2a139ab9137 Mon Sep 17 00:00:00 2001 From: Dylann Cordel Date: Wed, 12 Jul 2023 13:18:50 +0200 Subject: [PATCH] fix urls: multiple instead complex regex --- dalec/urls.py | 33 ++++++++++++++++++++++++++++++--- dalec_example/proxy.py | 7 +++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/dalec/urls.py b/dalec/urls.py index 6385b26..2eb4e43 100644 --- a/dalec/urls.py +++ b/dalec/urls.py @@ -4,13 +4,40 @@ # Third Party from dalec.views import FetchContentView +fetch_content_view = FetchContentView.as_view() urlpatterns = [ re_path( ( "(?P[a-z][a-z0-9_-]+)/(?P[a-z][a-z0-9_-]+)" # required part - "(?:/(?P[a-zA-Z][a-zA-Z0-9_-]+)(?:/(?P[^/]+)?(?:/(?P[^/]+)?)))?" # opt part # noqa + "/(?P[a-zA-Z][a-zA-Z0-9_-]+)" + "/(?P[^/]+)" + "/(?P[^/]+)" ), - FetchContentView.as_view(), + fetch_content_view, name="dalec_fetch_content", - ) + ), + re_path( + ( + "(?P[a-z][a-z0-9_-]+)/(?P[a-z][a-z0-9_-]+)" # required part + "/(?P[a-zA-Z][a-zA-Z0-9_-]+)" + "/(?P[^/]+)" + ), + fetch_content_view, + name="dalec_fetch_content", + ), + re_path( + ( + "(?P[a-z][a-z0-9_-]+)/(?P[a-z][a-z0-9_-]+)" # required part + "/(?P[a-zA-Z][a-zA-Z0-9_-]+)" + ), + fetch_content_view, + name="dalec_fetch_content", + ), + re_path( + ( + "(?P[a-z][a-z0-9_-]+)/(?P[a-z][a-z0-9_-]+)" # required part + ), + fetch_content_view, + name="dalec_fetch_content", + ), ] diff --git a/dalec_example/proxy.py b/dalec_example/proxy.py index e79c87e..3e428e9 100644 --- a/dalec_example/proxy.py +++ b/dalec_example/proxy.py @@ -1,16 +1,15 @@ from __future__ import annotations + from typing import TYPE_CHECKING if TYPE_CHECKING: from typing import Optional, Dict -from datetime import timedelta, datetime +from datetime import datetime, timedelta import requests - from django.utils.dateparse import parse_datetime -from django.utils.timezone import make_aware -from django.utils.timezone import now +from django.utils.timezone import make_aware, now from dalec.proxy import Proxy