aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/urlpatterns.py
diff options
context:
space:
mode:
authorTom Christie2013-01-21 17:42:33 +0000
committerTom Christie2013-01-21 17:42:39 +0000
commit98bffa68e655e530c16e4622658541940b3891f0 (patch)
tree6d28ba3c8dcaba608bf411e0acc2a06887196aa8 /rest_framework/urlpatterns.py
parent2c76212e5454efa4d4d02c7051055c7957497d52 (diff)
downloaddjango-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.py27
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