diff options
| author | Tom Christie | 2013-01-21 17:42:33 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-01-21 17:42:39 +0000 |
| commit | 98bffa68e655e530c16e4622658541940b3891f0 (patch) | |
| tree | 6d28ba3c8dcaba608bf411e0acc2a06887196aa8 /rest_framework/urlpatterns.py | |
| parent | 2c76212e5454efa4d4d02c7051055c7957497d52 (diff) | |
| download | django-rest-framework-98bffa68e655e530c16e4622658541940b3891f0.tar.bz2 | |
Don't do an inverted if test.
Diffstat (limited to 'rest_framework/urlpatterns.py')
| -rw-r--r-- | rest_framework/urlpatterns.py | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/rest_framework/urlpatterns.py b/rest_framework/urlpatterns.py index 0f210e66..47789026 100644 --- a/rest_framework/urlpatterns.py +++ b/rest_framework/urlpatterns.py @@ -6,28 +6,29 @@ from django.core.urlresolvers import RegexURLResolver def apply_suffix_patterns(urlpatterns, suffix_pattern, suffix_required): ret = [] for urlpattern in urlpatterns: - if not isinstance(urlpattern, RegexURLResolver): - # Regular URL pattern - - # 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)) - else: + if isinstance(urlpattern, RegexURLResolver): # Set of included URL patterns regex = urlpattern.regex.pattern namespace = urlpattern.namespace app_name = urlpattern.app_name kwargs = urlpattern.default_kwargs + # Add in the included patterns, after applying the suffixes patterns = apply_suffix_patterns(urlpattern.url_patterns, suffix_pattern, suffix_required) ret.append(url(regex, include(patterns, namespace, app_name), kwargs)) + + else: + # Regular URL pattern + 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 |
