diff --git a/django/contrib/admindocs/views.py b/django/contrib/admindocs/views.py index ac46132687..5515a3eee4 100644 --- a/django/contrib/admindocs/views.py +++ b/django/contrib/admindocs/views.py @@ -319,7 +319,7 @@ def load_all_installed_template_libraries(): libraries = [] for library_name in libraries: try: - lib = template.get_library(library_name) + template.get_library(library_name) except template.InvalidTemplateLibrary: pass diff --git a/django/contrib/auth/hashers.py b/django/contrib/auth/hashers.py index 06aec64636..c4dca38252 100644 --- a/django/contrib/auth/hashers.py +++ b/django/contrib/auth/hashers.py @@ -172,7 +172,7 @@ class BasePasswordHasher(object): if isinstance(self.library, (tuple, list)): name, mod_path = self.library else: - name = mod_path = self.library + mod_path = self.library try: module = importlib.import_module(mod_path) except ImportError as e: diff --git a/django/contrib/auth/tests/test_context_processors.py b/django/contrib/auth/tests/test_context_processors.py index 9e56cfce85..d1d912eb15 100644 --- a/django/contrib/auth/tests/test_context_processors.py +++ b/django/contrib/auth/tests/test_context_processors.py @@ -161,7 +161,7 @@ class AuthContextProcessorTests(TestCase): # Exception RuntimeError: 'maximum recursion depth exceeded while # calling a Python object' in # ignored" - query = Q(user=response.context['user']) & Q(someflag=True) + Q(user=response.context['user']) & Q(someflag=True) # Tests for user equality. This is hard because User defines # equality in a non-duck-typing way diff --git a/django/contrib/auth/tests/test_forms.py b/django/contrib/auth/tests/test_forms.py index 154960c8da..ae2ec93428 100644 --- a/django/contrib/auth/tests/test_forms.py +++ b/django/contrib/auth/tests/test_forms.py @@ -307,7 +307,7 @@ class UserChangeFormTest(TestCase): fields = ('groups',) # Just check we can create it - form = MyUserForm({}) + MyUserForm({}) def test_unsuable_password(self): user = User.objects.get(username='empty_password') diff --git a/django/contrib/auth/tests/test_views.py b/django/contrib/auth/tests/test_views.py index a26d477aa0..4820116c68 100644 --- a/django/contrib/auth/tests/test_views.py +++ b/django/contrib/auth/tests/test_views.py @@ -184,7 +184,7 @@ class PasswordResetTest(AuthViewsTestCase): def _test_confirm_start(self): # Start by creating the email - response = self.client.post('/password_reset/', {'email': 'staffmember@example.com'}) + self.client.post('/password_reset/', {'email': 'staffmember@example.com'}) self.assertEqual(len(mail.outbox), 1) return self._read_signup_email(mail.outbox[0]) @@ -328,7 +328,7 @@ class ChangePasswordTest(AuthViewsTestCase): }) def logout(self): - response = self.client.get('/logout/') + self.client.get('/logout/') def test_password_change_fails_with_invalid_old_password(self): self.login() @@ -350,7 +350,7 @@ class ChangePasswordTest(AuthViewsTestCase): def test_password_change_succeeds(self): self.login() - response = self.client.post('/password_change/', { + self.client.post('/password_change/', { 'old_password': 'password', 'new_password1': 'password1', 'new_password2': 'password1', @@ -465,7 +465,7 @@ class LoginTest(AuthViewsTestCase): def test_login_form_contains_request(self): # 15198 - response = self.client.post('/custom_requestauth_login/', { + self.client.post('/custom_requestauth_login/', { 'username': 'testclient', 'password': 'password', }, follow=True) diff --git a/django/contrib/auth/views.py b/django/contrib/auth/views.py index d42d957488..1d2838e9b0 100644 --- a/django/contrib/auth/views.py +++ b/django/contrib/auth/views.py @@ -7,10 +7,9 @@ from django.conf import settings from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect, QueryDict from django.template.response import TemplateResponse -from django.utils.http import base36_to_int, is_safe_url, urlsafe_base64_decode, urlsafe_base64_encode +from django.utils.http import is_safe_url, urlsafe_base64_decode from django.utils.translation import ugettext as _ from django.shortcuts import resolve_url -from django.utils.encoding import force_bytes, force_text from django.views.decorators.debug import sensitive_post_parameters from django.views.decorators.cache import never_cache from django.views.decorators.csrf import csrf_protect diff --git a/django/contrib/formtools/preview.py b/django/contrib/formtools/preview.py index d2e6987fa0..53b0da6e8e 100644 --- a/django/contrib/formtools/preview.py +++ b/django/contrib/formtools/preview.py @@ -39,7 +39,7 @@ class FormPreview(object): """ while 1: try: - f = self.form.base_fields[name] + self.form.base_fields[name] except KeyError: break # This field name isn't being used by the form. name += '_' diff --git a/django/contrib/formtools/tests/wizard/wizardtests/forms.py b/django/contrib/formtools/tests/wizard/wizardtests/forms.py index 6a8132971b..dbb0e83d6f 100644 --- a/django/contrib/formtools/tests/wizard/wizardtests/forms.py +++ b/django/contrib/formtools/tests/wizard/wizardtests/forms.py @@ -9,10 +9,9 @@ from django.forms.models import modelformset_factory from django.http import HttpResponse from django.template import Template, Context -from django.contrib.auth.models import User - from django.contrib.formtools.wizard.views import WizardView + temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR')) temp_storage = FileSystemStorage(location=temp_storage_location) diff --git a/django/contrib/gis/admin/options.py b/django/contrib/gis/admin/options.py index 7e79be1860..3c748b5b80 100644 --- a/django/contrib/gis/admin/options.py +++ b/django/contrib/gis/admin/options.py @@ -55,7 +55,7 @@ class GeoModelAdmin(ModelAdmin): 3D editing). """ if isinstance(db_field, models.GeometryField) and db_field.dim < 3: - request = kwargs.pop('request', None) + kwargs.pop('request', None) # Setting the widget with the newly defined widget. kwargs['widget'] = self.get_map_widget(db_field) return db_field.formfield(**kwargs) diff --git a/django/contrib/gis/db/backends/spatialite/creation.py b/django/contrib/gis/db/backends/spatialite/creation.py index d0a5f82033..d13a6ae9db 100644 --- a/django/contrib/gis/db/backends/spatialite/creation.py +++ b/django/contrib/gis/db/backends/spatialite/creation.py @@ -1,10 +1,12 @@ import os + from django.conf import settings from django.core.cache import get_cache from django.core.cache.backends.db import BaseDatabaseCache from django.core.exceptions import ImproperlyConfigured from django.db.backends.sqlite3.creation import DatabaseCreation + class SpatiaLiteCreation(DatabaseCreation): def create_test_db(self, verbosity=1, autoclobber=False): @@ -53,8 +55,6 @@ class SpatiaLiteCreation(DatabaseCreation): interactive=False, database=self.connection.alias) - from django.core.cache import get_cache - from django.core.cache.backends.db import BaseDatabaseCache for cache_alias in settings.CACHES: cache = get_cache(cache_alias) if isinstance(cache, BaseDatabaseCache): @@ -62,7 +62,7 @@ class SpatiaLiteCreation(DatabaseCreation): # Get a cursor (even though we don't need one yet). This has # the side effect of initializing the test database. - cursor = self.connection.cursor() + self.connection.cursor() return test_database_name diff --git a/django/contrib/gis/gdal/geometries.py b/django/contrib/gis/gdal/geometries.py index d75e8cd288..c5a87f40e0 100644 --- a/django/contrib/gis/gdal/geometries.py +++ b/django/contrib/gis/gdal/geometries.py @@ -101,7 +101,7 @@ class OGRGeometry(GDALBase): else: # Seeing if the input is a valid short-hand string # (e.g., 'Point', 'POLYGON'). - ogr_t = OGRGeomType(geom_input) + OGRGeomType(geom_input) g = capi.create_geom(OGRGeomType(geom_input).num) elif isinstance(geom_input, memoryview): # WKB was passed in @@ -341,7 +341,7 @@ class OGRGeometry(GDALBase): sz = self.wkb_size # Creating the unsigned character buffer, and passing it in by reference. buf = (c_ubyte * sz)() - wkb = capi.to_wkb(self.ptr, byteorder, byref(buf)) + capi.to_wkb(self.ptr, byteorder, byref(buf)) # Returning a buffer of the string at the pointer. return memoryview(string_at(buf, sz)) diff --git a/django/contrib/gis/gdal/tests/test_envelope.py b/django/contrib/gis/gdal/tests/test_envelope.py index 14258ff816..4644fbc533 100644 --- a/django/contrib/gis/gdal/tests/test_envelope.py +++ b/django/contrib/gis/gdal/tests/test_envelope.py @@ -22,9 +22,9 @@ class EnvelopeTest(unittest.TestCase): def test01_init(self): "Testing Envelope initilization." e1 = Envelope((0, 0, 5, 5)) - e2 = Envelope(0, 0, 5, 5) - e3 = Envelope(0, '0', '5', 5) # Thanks to ww for this - e4 = Envelope(e1._envelope) + Envelope(0, 0, 5, 5) + Envelope(0, '0', '5', 5) # Thanks to ww for this + Envelope(e1._envelope) self.assertRaises(OGRException, Envelope, (5, 5, 0, 0)) self.assertRaises(OGRException, Envelope, 5, 5, 0, 0) self.assertRaises(OGRException, Envelope, (0, 0, 5, 5, 3)) diff --git a/django/contrib/gis/gdal/tests/test_geom.py b/django/contrib/gis/gdal/tests/test_geom.py index 74b1e894e1..41e7555ab3 100644 --- a/django/contrib/gis/gdal/tests/test_geom.py +++ b/django/contrib/gis/gdal/tests/test_geom.py @@ -25,15 +25,12 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin): "Testing OGRGeomType object." # OGRGeomType should initialize on all these inputs. - try: - g = OGRGeomType(1) - g = OGRGeomType(7) - g = OGRGeomType('point') - g = OGRGeomType('GeometrycollectioN') - g = OGRGeomType('LINearrING') - g = OGRGeomType('Unknown') - except: - self.fail('Could not create an OGRGeomType object!') + OGRGeomType(1) + OGRGeomType(7) + OGRGeomType('point') + OGRGeomType('GeometrycollectioN') + OGRGeomType('LINearrING') + OGRGeomType('Unknown') # Should throw TypeError on this input self.assertRaises(OGRException, OGRGeomType, 23) @@ -127,7 +124,7 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin): def test02_points(self): "Testing Point objects." - prev = OGRGeometry('POINT(0 0)') + OGRGeometry('POINT(0 0)') for p in self.geometries.points: if not hasattr(p, 'z'): # No 3D pnt = OGRGeometry(p.wkt) @@ -243,7 +240,7 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin): poly = OGRGeometry('POLYGON((0 0, 5 0, 5 5, 0 5), (1 1, 2 1, 2 2, 2 1))') self.assertEqual(8, poly.point_count) with self.assertRaises(OGRException): - _ = poly.centroid + poly.centroid poly.close_rings() self.assertEqual(10, poly.point_count) # Two closing points should've been added @@ -251,7 +248,7 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin): def test08_multipolygons(self): "Testing MultiPolygon objects." - prev = OGRGeometry('POINT(0 0)') + OGRGeometry('POINT(0 0)') for mp in self.geometries.multipolygons: mpoly = OGRGeometry(mp.wkt) self.assertEqual(6, mpoly.geom_type) diff --git a/django/contrib/gis/gdal/tests/test_srs.py b/django/contrib/gis/gdal/tests/test_srs.py index cacff4be04..33941458c8 100644 --- a/django/contrib/gis/gdal/tests/test_srs.py +++ b/django/contrib/gis/gdal/tests/test_srs.py @@ -58,7 +58,7 @@ class SpatialRefTest(unittest.TestCase): def test01_wkt(self): "Testing initialization on valid OGC WKT." for s in srlist: - srs = SpatialReference(s.wkt) + SpatialReference(s.wkt) def test02_bad_wkt(self): "Testing initialization on invalid WKT." @@ -150,7 +150,7 @@ class SpatialRefTest(unittest.TestCase): target = SpatialReference('WGS84') for s in srlist: if s.proj: - ct = CoordTransform(SpatialReference(s.wkt), target) + CoordTransform(SpatialReference(s.wkt), target) def test13_attr_value(self): "Testing the attr_value() method." diff --git a/django/contrib/gis/geoip/base.py b/django/contrib/gis/geoip/base.py index d4793a2ae9..c6e27866db 100644 --- a/django/contrib/gis/geoip/base.py +++ b/django/contrib/gis/geoip/base.py @@ -18,7 +18,8 @@ free_regex = re.compile(r'^GEO-\d{3}FREE') lite_regex = re.compile(r'^GEO-\d{3}LITE') #### GeoIP classes #### -class GeoIPException(Exception): pass +class GeoIPException(Exception): + pass class GeoIP(object): # The flags for GeoIP memory caching. diff --git a/django/contrib/gis/geos/geometry.py b/django/contrib/gis/geos/geometry.py index b088ec2dc4..7021ed1866 100644 --- a/django/contrib/gis/geos/geometry.py +++ b/django/contrib/gis/geos/geometry.py @@ -18,7 +18,6 @@ from django.contrib.gis.geos.base import GEOSBase, gdal from django.contrib.gis.geos.coordseq import GEOSCoordSeq from django.contrib.gis.geos.error import GEOSException, GEOSIndexError from django.contrib.gis.geos.libgeos import GEOM_PTR, GEOS_PREPARE -from django.contrib.gis.geos.mutable_list import ListMixin # All other functions in this module come from the ctypes # prototypes module -- which handles all interaction with diff --git a/django/contrib/gis/geos/tests/test_geos.py b/django/contrib/gis/geos/tests/test_geos.py index 900a0adb40..87aba723b9 100644 --- a/django/contrib/gis/geos/tests/test_geos.py +++ b/django/contrib/gis/geos/tests/test_geos.py @@ -124,24 +124,16 @@ class GEOSTest(unittest.TestCase, TestDataMixin): self.assertEqual(hexewkb_3d, pnt_3d.hexewkb) self.assertEqual(True, GEOSGeometry(hexewkb_3d).hasz) else: - try: - hexewkb = pnt_3d.hexewkb - except GEOSException: - pass - else: - self.fail('Should have raised GEOSException.') + with self.assertRaises(GEOSException): + pnt_3d.hexewkb # Same for EWKB. self.assertEqual(memoryview(a2b_hex(hexewkb_2d)), pnt_2d.ewkb) if GEOS_PREPARE: self.assertEqual(memoryview(a2b_hex(hexewkb_3d)), pnt_3d.ewkb) else: - try: - ewkb = pnt_3d.ewkb - except GEOSException: - pass - else: - self.fail('Should have raised GEOSException') + with self.assertRaises(GEOSException): + pnt_3d.ewkb # Redundant sanity check. self.assertEqual(4326, GEOSGeometry(hexewkb_2d).srid) @@ -158,7 +150,7 @@ class GEOSTest(unittest.TestCase, TestDataMixin): # string-based for err in self.geometries.errors: with self.assertRaises((GEOSException, ValueError)): - _ = fromstr(err.wkt) + fromstr(err.wkt) # Bad WKB self.assertRaises(GEOSException, GEOSGeometry, memoryview(b'0')) diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index 38d8154ac9..967254dfac 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -11,7 +11,7 @@ from django.core import signals from django.core.handlers import base from django.core.urlresolvers import set_script_prefix from django.utils import datastructures -from django.utils.encoding import force_str, force_text, iri_to_uri +from django.utils.encoding import force_str # For backwards compatibility -- lots of code uses this in the wild! from django.http.response import REASON_PHRASES as STATUS_CODE_TEXT