From 4b691c402707775c3048a90531024f3bc5be6f91 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 20 Sep 2012 13:06:27 +0100 Subject: Change package name: djangorestframework -> rest_framework --- rest_framework/urlpatterns.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rest_framework/urlpatterns.py (limited to 'rest_framework/urlpatterns.py') diff --git a/rest_framework/urlpatterns.py b/rest_framework/urlpatterns.py new file mode 100644 index 00000000..7d09651a --- /dev/null +++ b/rest_framework/urlpatterns.py @@ -0,0 +1,24 @@ +from django.conf.urls.defaults import url +from rest_framework.settings import api_settings + + +def format_suffix_patterns(urlpatterns, suffix_required=False, suffix_kwarg=None): + """ + Supplement existing urlpatterns with corrosponding patterns that also + include a '.format' suffix. Retains urlpattern ordering. + """ + suffix_kwarg = suffix_kwarg or api_settings.FORMAT_SUFFIX_KWARG + suffix_pattern = '.(?P<%s>[a-z]+)$' % suffix_kwarg + + ret = [] + for urlpattern in urlpatterns: + # Form our complementing '.format' urlpattern + regex = urlpattern.regex.pattern.rstrip('$') + suffix_pattern + view = urlpattern._callback or urlpattern._callback_str + kwargs = urlpattern.default_args + name = urlpattern.name + # Add in both the existing and the new urlpattern + if not suffix_required: + ret.append(urlpattern) + ret.append(url(regex, view, kwargs, name)) + return ret -- cgit v1.2.3