From bfc44dea82bd80a2a86b1fbfd706e9ee3c1b67b5 Mon Sep 17 00:00:00 2001 From: Henrik Levkowetz Date: Thu, 22 Dec 2016 17:20:29 +0000 Subject: [PATCH] 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 --- ietf/utils/urls.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 ietf/utils/urls.py diff --git a/ietf/utils/urls.py b/ietf/utils/urls.py new file mode 100644 index 000000000..6fb5195b9 --- /dev/null +++ b/ietf/utils/urls.py @@ -0,0 +1,21 @@ +# Copyright The IETF Trust 2016, All Rights Reserved + +import six +import debug # pyflakes:ignore + +from django.conf.urls import url as django_url + +#@debug.trace +def url(regex, view, kwargs=None, name=None, prefix=''): + if isinstance(view, (list, tuple)): + pass # use the name passed in + elif isinstance(view, six.string_types): + name = view + elif callable(view): + name = "%s.%s" % (view.__module__, view.__name__) + else: + raise NotImplementedError("Auto-named url from view of type %s: %s" % (type(view), view)) + if name: + debug.show('name') + return django_url(regex, view, kwargs=kwargs, name=name, prefix=prefix) + \ No newline at end of file