Skip to content

Commit bfc44de

Browse files
committed
Django 1.9: Added an alternative implementation of urls() which derives an url pattern name from the callable, in order to maintain DRY for url patterns.
- Legacy-Id: 12617
1 parent 3944ab9 commit bfc44de

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

ietf/utils/urls.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright The IETF Trust 2016, All Rights Reserved
2+
3+
import six
4+
import debug # pyflakes:ignore
5+
6+
from django.conf.urls import url as django_url
7+
8+
#@debug.trace
9+
def url(regex, view, kwargs=None, name=None, prefix=''):
10+
if isinstance(view, (list, tuple)):
11+
pass # use the name passed in
12+
elif isinstance(view, six.string_types):
13+
name = view
14+
elif callable(view):
15+
name = "%s.%s" % (view.__module__, view.__name__)
16+
else:
17+
raise NotImplementedError("Auto-named url from view of type %s: %s" % (type(view), view))
18+
if name:
19+
debug.show('name')
20+
return django_url(regex, view, kwargs=kwargs, name=name, prefix=prefix)
21+

0 commit comments

Comments
 (0)