diff options
Diffstat (limited to 'djangorestframework/urlpatterns.py')
| -rw-r--r-- | djangorestframework/urlpatterns.py | 8 |
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 |
