diff --git a/django/contrib/auth/middleware.py b/django/contrib/auth/middleware.py index f38efdd1d2..a107055e34 100644 --- a/django/contrib/auth/middleware.py +++ b/django/contrib/auth/middleware.py @@ -58,7 +58,7 @@ class RemoteUserMiddleware(object): auth.BACKEND_SESSION_KEY, '')) if isinstance(stored_backend, RemoteUserBackend): auth.logout(request) - except ImproperlyConfigured as e: + except ImproperlyConfigured: # backend failed to load auth.logout(request) return diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py index 309a7a590f..4c88e7d1ba 100644 --- a/django/contrib/auth/models.py +++ b/django/contrib/auth/models.py @@ -6,7 +6,6 @@ from django.core import validators from django.db import models from django.db.models.manager import EmptyManager from django.utils.crypto import get_random_string -from django.utils.http import urlquote from django.utils import six from django.utils.translation import ugettext_lazy as _ from django.utils import timezone diff --git a/django/contrib/gis/forms/fields.py b/django/contrib/gis/forms/fields.py index 28c89f35fd..55b887a445 100644 --- a/django/contrib/gis/forms/fields.py +++ b/django/contrib/gis/forms/fields.py @@ -1,7 +1,6 @@ from __future__ import unicode_literals from django import forms -from django.utils import six from django.utils.translation import ugettext_lazy as _ # While this couples the geographic forms to the GEOS library, @@ -85,7 +84,7 @@ class GeometryField(forms.Field): try: data = self.to_python(data) initial = self.to_python(initial) - except ValidationError: + except forms.ValidationError: return True # Only do a geographic comparison if both values are available diff --git a/django/contrib/sessions/tests.py b/django/contrib/sessions/tests.py index 30814e466b..0b10e14530 100644 --- a/django/contrib/sessions/tests.py +++ b/django/contrib/sessions/tests.py @@ -424,10 +424,6 @@ class FileSessionTests(SessionTestsMixin, unittest.TestCase): # Make sure the file backend checks for a good storage dir self.assertRaises(ImproperlyConfigured, self.backend) - def test_invalid_key_backslash(self): - # This key should be refused and a new session should be created - self.assertTrue(self.backend("a\\b\\c").load()) - def test_invalid_key_backslash(self): # Ensure we don't allow directory-traversal. # This is tested directly on _key_to_file, as load() will swallow diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py index 2721a791fa..4cafeccd2a 100644 --- a/django/core/cache/__init__.py +++ b/django/core/cache/__init__.py @@ -85,7 +85,7 @@ def parse_backend_conf(backend, **kwargs): else: try: # Trying to import the given backend, in case it's a dotted path - backend_cls = import_by_path(backend) + import_by_path(backend) except ImproperlyConfigured as e: raise InvalidCacheBackendError("Could not find backend '%s': %s" % ( backend, e)) diff --git a/django/core/management/commands/loaddata.py b/django/core/management/commands/loaddata.py index a6e22d9173..20ab486489 100644 --- a/django/core/management/commands/loaddata.py +++ b/django/core/management/commands/loaddata.py @@ -6,7 +6,6 @@ import os import warnings import zipfile from optparse import make_option -import warnings from django.conf import settings from django.core import serializers diff --git a/django/core/management/sql.py b/django/core/management/sql.py index 379def27dc..f5e0b7367b 100644 --- a/django/core/management/sql.py +++ b/django/core/management/sql.py @@ -9,7 +9,6 @@ from django.conf import settings from django.core.management.base import CommandError from django.db import models from django.db.models import get_models -from django.utils._os import upath def sql_create(app, style, connection): diff --git a/django/db/backends/oracle/schema.py b/django/db/backends/oracle/schema.py index 467d6167fa..1733fc0690 100644 --- a/django/db/backends/oracle/schema.py +++ b/django/db/backends/oracle/schema.py @@ -1,12 +1,11 @@ import copy -import datetime -from django.utils import six + from django.db.backends.schema import BaseDatabaseSchemaEditor from django.db.utils import DatabaseError class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): - + sql_create_column = "ALTER TABLE %(table)s ADD %(column)s %(definition)s" sql_alter_column_type = "MODIFY %(column)s %(type)s" sql_alter_column_null = "MODIFY %(column)s NULL" @@ -15,7 +14,7 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): sql_alter_column_no_default = "MODIFY %(column)s DEFAULT NULL" sql_delete_column = "ALTER TABLE %(table)s DROP COLUMN %(column)s" sql_delete_table = "DROP TABLE %(table)s CASCADE CONSTRAINTS" - + def delete_model(self, model): # Run superclass action super(DatabaseSchemaEditor, self).delete_model(model) diff --git a/django/db/backends/schema.py b/django/db/backends/schema.py index 8b4255267c..5f0bf0a28b 100644 --- a/django/db/backends/schema.py +++ b/django/db/backends/schema.py @@ -1,6 +1,5 @@ import hashlib import operator -import sys from django.db.backends.creation import BaseDatabaseCreation from django.db.backends.util import truncate_name diff --git a/django/forms/formsets.py b/django/forms/formsets.py index e46a440480..02b07a8604 100644 --- a/django/forms/formsets.py +++ b/django/forms/formsets.py @@ -289,7 +289,8 @@ class BaseFormSet(object): # We loop over every form.errors here rather than short circuiting on the # first failure to make sure validation gets triggered for every form. forms_valid = True - err = self.errors + # This triggers a full clean. + self.errors for i in range(0, self.total_form_count()): form = self.forms[i] if self.can_delete: diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py index a7af7d7de8..0eae48eb87 100644 --- a/django/template/defaulttags.py +++ b/django/template/defaulttags.py @@ -54,7 +54,6 @@ class CsrfTokenNode(Node): else: # It's very probable that the token is missing because of # misconfiguration, so we raise a warning - from django.conf import settings if settings.DEBUG: warnings.warn("A {% csrf_token %} was used in a template, but the context did not provide the value. This is usually caused by not using RequestContext.") return '' diff --git a/django/test/client.py b/django/test/client.py index 4e4a600548..fe7c3131cf 100644 --- a/django/test/client.py +++ b/django/test/client.py @@ -91,8 +91,6 @@ class ClientHandler(BaseHandler): super(ClientHandler, self).__init__(*args, **kwargs) def __call__(self, environ): - from django.conf import settings - # Set up middleware if needed. We couldn't do this earlier, because # settings weren't available. if self._request_middleware is None: diff --git a/django/utils/html.py b/django/utils/html.py index 76fc23713d..ff3bc60021 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -210,7 +210,6 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False): safe_input = isinstance(text, SafeData) words = word_split_re.split(force_text(text)) for i, word in enumerate(words): - match = None if '.' in word or '@' in word or ':' in word: # Deal with punctuation. lead, middle, trail = '', word, ''