diff options
Diffstat (limited to 'django')
23 files changed, 88 insertions, 82 deletions
diff --git a/django/conf/project_template/urls.py b/django/conf/project_template/urls.py index 0ce1ffb98d..eb471d54a8 100644 --- a/django/conf/project_template/urls.py +++ b/django/conf/project_template/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import patterns, include, url +from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: # from django.contrib import admin diff --git a/django/conf/urls/__init__.py b/django/conf/urls/__init__.py index e69de29bb2..0b6ab6496e 100644 --- a/django/conf/urls/__init__.py +++ b/django/conf/urls/__init__.py @@ -0,0 +1,61 @@ +from django.core.urlresolvers import (RegexURLPattern, + RegexURLResolver, LocaleRegexURLResolver) +from django.core.exceptions import ImproperlyConfigured +from django.utils.importlib import import_module + + +__all__ = ['handler403', 'handler404', 'handler500', 'include', 'patterns', 'url'] + +handler403 = 'django.views.defaults.permission_denied' +handler404 = 'django.views.defaults.page_not_found' +handler500 = 'django.views.defaults.server_error' + +def include(arg, namespace=None, app_name=None): + if isinstance(arg, tuple): + # callable returning a namespace hint + if namespace: + raise ImproperlyConfigured('Cannot override the namespace for a dynamic module that provides a namespace') + urlconf_module, app_name, namespace = arg + else: + # No namespace hint - use manually provided namespace + urlconf_module = arg + + if isinstance(urlconf_module, basestring): + urlconf_module = import_module(urlconf_module) + patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module) + + # Make sure we can iterate through the patterns (without this, some + # testcases will break). + if isinstance(patterns, (list, tuple)): + for url_pattern in patterns: + # Test if the LocaleRegexURLResolver is used within the include; + # this should throw an error since this is not allowed! + if isinstance(url_pattern, LocaleRegexURLResolver): + raise ImproperlyConfigured( + 'Using i18n_patterns in an included URLconf is not allowed.') + + return (urlconf_module, app_name, namespace) + +def patterns(prefix, *args): + pattern_list = [] + for t in args: + if isinstance(t, (list, tuple)): + t = url(prefix=prefix, *t) + elif isinstance(t, RegexURLPattern): + t.add_prefix(prefix) + pattern_list.append(t) + return pattern_list + +def url(regex, view, kwargs=None, name=None, prefix=''): + if isinstance(view, (list,tuple)): + # For include(...) processing. + urlconf_module, app_name, namespace = view + return RegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace) + else: + if isinstance(view, basestring): + if not view: + raise ImproperlyConfigured('Empty URL pattern view name not permitted (for pattern %r)' % regex) + if prefix: + view = prefix + '.' + view + return RegexURLPattern(regex, view, kwargs, name) + diff --git a/django/conf/urls/defaults.py b/django/conf/urls/defaults.py index 19f4230097..326f05f4ba 100644 --- a/django/conf/urls/defaults.py +++ b/django/conf/urls/defaults.py @@ -1,61 +1,6 @@ -from django.core.urlresolvers import (RegexURLPattern, - RegexURLResolver, LocaleRegexURLResolver) -from django.core.exceptions import ImproperlyConfigured -from django.utils.importlib import import_module - - -__all__ = ['handler404', 'handler500', 'include', 'patterns', 'url'] - -handler403 = 'django.views.defaults.permission_denied' -handler404 = 'django.views.defaults.page_not_found' -handler500 = 'django.views.defaults.server_error' - -def include(arg, namespace=None, app_name=None): - if isinstance(arg, tuple): - # callable returning a namespace hint - if namespace: - raise ImproperlyConfigured('Cannot override the namespace for a dynamic module that provides a namespace') - urlconf_module, app_name, namespace = arg - else: - # No namespace hint - use manually provided namespace - urlconf_module = arg - - if isinstance(urlconf_module, basestring): - urlconf_module = import_module(urlconf_module) - patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module) - - # Make sure we can iterate through the patterns (without this, some - # testcases will break). - if isinstance(patterns, (list, tuple)): - for url_pattern in patterns: - # Test if the LocaleRegexURLResolver is used within the include; - # this should throw an error since this is not allowed! - if isinstance(url_pattern, LocaleRegexURLResolver): - raise ImproperlyConfigured( - 'Using i18n_patterns in an included URLconf is not allowed.') - - return (urlconf_module, app_name, namespace) - -def patterns(prefix, *args): - pattern_list = [] - for t in args: - if isinstance(t, (list, tuple)): - t = url(prefix=prefix, *t) - elif isinstance(t, RegexURLPattern): - t.add_prefix(prefix) - pattern_list.append(t) - return pattern_list - -def url(regex, view, kwargs=None, name=None, prefix=''): - if isinstance(view, (list,tuple)): - # For include(...) processing. - urlconf_module, app_name, namespace = view - return RegexURLResolver(regex, urlconf_module, kwargs, app_name=app_name, namespace=namespace) - else: - if isinstance(view, basestring): - if not view: - raise ImproperlyConfigured('Empty URL pattern view name not permitted (for pattern %r)' % regex) - if prefix: - view = prefix + '.' + view - return RegexURLPattern(regex, view, kwargs, name) +import warnings +warnings.warn("django.conf.urls.defaults is deprecated; use django.conf.urls instead", + PendingDeprecationWarning) +from django.conf.urls import (handler403, handler404, handler500, + include, patterns, url) diff --git a/django/conf/urls/i18n.py b/django/conf/urls/i18n.py index 67931aaf1c..6e56af8271 100644 --- a/django/conf/urls/i18n.py +++ b/django/conf/urls/i18n.py @@ -1,5 +1,5 @@ from django.conf import settings -from django.conf.urls.defaults import patterns +from django.conf.urls import patterns from django.core.urlresolvers import LocaleRegexURLResolver def i18n_patterns(prefix, *args): diff --git a/django/conf/urls/shortcut.py b/django/conf/urls/shortcut.py index 135f3be840..6eb2e55e68 100644 --- a/django/conf/urls/shortcut.py +++ b/django/conf/urls/shortcut.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns urlpatterns = patterns('django.views', (r'^(?P<content_type_id>\d+)/(?P<object_id>.*)/$', 'defaults.shortcut'), diff --git a/django/conf/urls/static.py b/django/conf/urls/static.py index 8be564ec7a..8d305653bd 100644 --- a/django/conf/urls/static.py +++ b/django/conf/urls/static.py @@ -1,6 +1,6 @@ import re from django.conf import settings -from django.conf.urls.defaults import patterns, url +from django.conf.urls import patterns, url from django.core.exceptions import ImproperlyConfigured def static(prefix, view='django.views.static.serve', **kwargs): diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py index c9f2562142..5271e021ef 100644 --- a/django/contrib/admin/options.py +++ b/django/contrib/admin/options.py @@ -320,7 +320,7 @@ class ModelAdmin(BaseModelAdmin): super(ModelAdmin, self).__init__() def get_urls(self): - from django.conf.urls.defaults import patterns, url + from django.conf.urls import patterns, url def wrap(view): def wrapper(*args, **kwargs): diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py index 49c1e7878c..9bb9f4ab46 100644 --- a/django/contrib/admin/sites.py +++ b/django/contrib/admin/sites.py @@ -174,7 +174,7 @@ class AdminSite(object): class MyAdminSite(AdminSite): def get_urls(self): - from django.conf.urls.defaults import patterns, url + from django.conf.urls import patterns, url urls = super(MyAdminSite, self).get_urls() urls += patterns('', @@ -199,7 +199,7 @@ class AdminSite(object): return update_wrapper(inner, view) def get_urls(self): - from django.conf.urls.defaults import patterns, url, include + from django.conf.urls import patterns, url, include if settings.DEBUG: self.check_dependencies() diff --git a/django/contrib/admindocs/urls.py b/django/contrib/admindocs/urls.py index 57edb5697b..4f50049f87 100644 --- a/django/contrib/admindocs/urls.py +++ b/django/contrib/admindocs/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, url from django.contrib.admindocs import views urlpatterns = patterns('', diff --git a/django/contrib/auth/admin.py b/django/contrib/auth/admin.py index 9bfc036f26..3868794fed 100644 --- a/django/contrib/auth/admin.py +++ b/django/contrib/auth/admin.py @@ -74,7 +74,7 @@ class UserAdmin(admin.ModelAdmin): return super(UserAdmin, self).get_form(request, obj, **defaults) def get_urls(self): - from django.conf.urls.defaults import patterns + from django.conf.urls import patterns return patterns('', (r'^(\d+)/password/$', self.admin_site.admin_view(self.user_change_password)) ) + super(UserAdmin, self).get_urls() diff --git a/django/contrib/auth/tests/urls.py b/django/contrib/auth/tests/urls.py index 4445a9c014..dbbd35ee88 100644 --- a/django/contrib/auth/tests/urls.py +++ b/django/contrib/auth/tests/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import patterns, url +from django.conf.urls import patterns, url from django.contrib.auth import context_processors from django.contrib.auth.urls import urlpatterns from django.contrib.auth.views import password_reset diff --git a/django/contrib/auth/urls.py b/django/contrib/auth/urls.py index 42b4e8f212..71061531f1 100644 --- a/django/contrib/auth/urls.py +++ b/django/contrib/auth/urls.py @@ -2,7 +2,7 @@ # provided as a convenience to those who want to deploy these URLs elsewhere. # This file is also used to provide a reliable view deployment for test purposes. -from django.conf.urls.defaults import * +from django.conf.urls import patterns urlpatterns = patterns('', (r'^login/$', 'django.contrib.auth.views.login'), diff --git a/django/contrib/comments/urls.py b/django/contrib/comments/urls.py index d9037799dd..69a022288b 100644 --- a/django/contrib/comments/urls.py +++ b/django/contrib/comments/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, url urlpatterns = patterns('django.contrib.comments.views', url(r'^post/$', 'comments.post_comment', name='comments-post-comment'), diff --git a/django/contrib/databrowse/urls.py b/django/contrib/databrowse/urls.py index 9b85d142a2..5c431deb21 100644 --- a/django/contrib/databrowse/urls.py +++ b/django/contrib/databrowse/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns from django.contrib.databrowse import views # Note: The views in this URLconf all require a 'models' argument, diff --git a/django/contrib/flatpages/tests/urls.py b/django/contrib/flatpages/tests/urls.py index 3cffd09d0f..e0e7a074b0 100644 --- a/django/contrib/flatpages/tests/urls.py +++ b/django/contrib/flatpages/tests/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, include # special urls for flatpage test cases urlpatterns = patterns('', diff --git a/django/contrib/flatpages/urls.py b/django/contrib/flatpages/urls.py index 49289304ff..5abb8e1986 100644 --- a/django/contrib/flatpages/urls.py +++ b/django/contrib/flatpages/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns urlpatterns = patterns('django.contrib.flatpages.views', (r'^(?P<url>.*)$', 'flatpage'), diff --git a/django/contrib/formtools/tests/urls.py b/django/contrib/formtools/tests/urls.py index f058335b07..313a53413b 100644 --- a/django/contrib/formtools/tests/urls.py +++ b/django/contrib/formtools/tests/urls.py @@ -2,7 +2,7 @@ This is a URLconf to be loaded by tests.py. Add any URLs needed for tests only. """ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, url from django.contrib.formtools.tests import TestFormPreview, TestWizardClass from forms import (ContactWizard, Page1, Page2, Page3, TestForm, diff --git a/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py b/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py index 04019d127f..ac2cadc321 100644 --- a/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py +++ b/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import patterns, url +from django.conf.urls import patterns, url from django.contrib.formtools.tests.wizard.namedwizardtests.forms import ( SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) diff --git a/django/contrib/formtools/tests/wizard/wizardtests/urls.py b/django/contrib/formtools/tests/wizard/wizardtests/urls.py index e6d18ea5d1..dabce5306a 100644 --- a/django/contrib/formtools/tests/wizard/wizardtests/urls.py +++ b/django/contrib/formtools/tests/wizard/wizardtests/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, url from django.contrib.formtools.tests.wizard.wizardtests.forms import ( SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) diff --git a/django/contrib/gis/tests/geoadmin/urls.py b/django/contrib/gis/tests/geoadmin/urls.py index c3e8af8fe1..f41587280d 100644 --- a/django/contrib/gis/tests/geoadmin/urls.py +++ b/django/contrib/gis/tests/geoadmin/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns, include from django.contrib import admin urlpatterns = patterns('', diff --git a/django/contrib/gis/tests/geoapp/urls.py b/django/contrib/gis/tests/geoapp/urls.py index b3604c7aa0..2725d98d9d 100644 --- a/django/contrib/gis/tests/geoapp/urls.py +++ b/django/contrib/gis/tests/geoapp/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns from feeds import feed_dict urlpatterns = patterns('', diff --git a/django/contrib/messages/tests/urls.py b/django/contrib/messages/tests/urls.py index 263b0a8a0d..6d32a614eb 100644 --- a/django/contrib/messages/tests/urls.py +++ b/django/contrib/messages/tests/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls.defaults import * +from django.conf.urls import patterns from django.contrib import messages from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect, HttpResponse diff --git a/django/contrib/sitemaps/tests/urls.py b/django/contrib/sitemaps/tests/urls.py index 03b060df7a..c264f940d2 100644 --- a/django/contrib/sitemaps/tests/urls.py +++ b/django/contrib/sitemaps/tests/urls.py @@ -1,5 +1,5 @@ from datetime import datetime -from django.conf.urls.defaults import * +from django.conf.urls import patterns from django.contrib.sitemaps import Sitemap, GenericSitemap, FlatPageSitemap from django.contrib.auth.models import User |
