aboutsummaryrefslogtreecommitdiffstats
path: root/djangorestframework/urlpatterns.py
diff options
context:
space:
mode:
Diffstat (limited to 'djangorestframework/urlpatterns.py')
-rw-r--r--djangorestframework/urlpatterns.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/djangorestframework/urlpatterns.py b/djangorestframework/urlpatterns.py
index d34acf9b..6cef721e 100644
--- a/djangorestframework/urlpatterns.py
+++ b/djangorestframework/urlpatterns.py
@@ -1,15 +1,19 @@
from django.conf.urls.defaults import url
+from djangorestframework.settings import api_settings
-def format_suffix_patterns(urlpatterns, suffix_required=False):
+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('$') + '.(?P<format>[a-z]+)$'
+ regex = urlpattern.regex.pattern.rstrip('$') + suffix_pattern
view = urlpattern._callback or urlpattern._callback_str
kwargs = urlpattern.default_args
name = urlpattern.name