Projet

Général

Profil

0006-django22-RegexURLPattern-was-renamed-in-2.0-49188.patch

Lauréline Guérin, 11 décembre 2020 11:52

Télécharger (2,37 ko)

Voir les différences:

Subject: [PATCH 06/10] django22: RegexURLPattern was renamed in 2.0 (#49188)

 passerelle/urls_utils.py | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)
passerelle/urls_utils.py
5 5
from django.conf import settings
6 6
from django.contrib.auth.decorators import user_passes_test
7 7
from django.core.exceptions import PermissionDenied
8
from django.urls import RegexURLPattern, RegexURLResolver
8
try:
9
    from django.urls import URLPattern, URLResolver
10
except ImportError:
11
    # django < 2.0 compatibility
12
    from django.urls import RegexURLPattern as URLPattern, RegexURLResolver as URLResolver
9 13
from django.views.debug import technical_404_response
10 14
from django.http import Http404
11 15

  
12
class DecoratedURLPattern(RegexURLPattern):
16
class DecoratedURLPattern(URLPattern):
13 17
    def resolve(self, *args, **kwargs):
14 18
        result = super(DecoratedURLPattern, self).resolve(*args, **kwargs)
15 19
        if result:
16 20
            result.func = self._decorate_with(result.func)
17 21
        return result
18 22

  
19
class DecoratedRegexURLResolver(RegexURLResolver):
23
class DecoratedURLResolver(URLResolver):
20 24
    def resolve(self, *args, **kwargs):
21
        result = super(DecoratedRegexURLResolver, self).resolve(*args, **kwargs)
25
        result = super(DecoratedURLResolver, self).resolve(*args, **kwargs)
22 26
        if result:
23 27
            result.func = self._decorate_with(result.func)
24 28
        return result
......
27 31
    urlconf_module, app_name, namespace = includes
28 32

  
29 33
    for item in urlconf_module:
30
        if isinstance(item, RegexURLPattern):
34
        if isinstance(item, URLPattern):
31 35
            item.__class__ = DecoratedURLPattern
32 36
            item._decorate_with = func
33 37

  
34
        elif isinstance(item, RegexURLResolver):
35
            item.__class__ = DecoratedRegexURLResolver
38
        elif isinstance(item, URLResolver):
39
            item.__class__ = DecoratedURLResolver
36 40
            item._decorate_with = func
37 41

  
38 42
    return urlconf_module, app_name, namespace
39
-