diff --git a/django/contrib/auth/tests/test_basic.py b/django/contrib/auth/tests/test_basic.py index 57790830b0..e5a3e676b8 100644 --- a/django/contrib/auth/tests/test_basic.py +++ b/django/contrib/auth/tests/test_basic.py @@ -23,7 +23,6 @@ from django.utils.six import binary_type, PY2, StringIO def user_model_swapped(**kwargs): if kwargs['setting'] == 'AUTH_USER_MODEL': from django.db.models.manager import ensure_default_manager - from django.contrib.auth.models import User # Reset User manager setattr(User, 'objects', User._default_manager) ensure_default_manager(User) diff --git a/django/contrib/gis/geos/prototypes/__init__.py b/django/contrib/gis/geos/prototypes/__init__.py index 89b96c0ecf..992a1ac514 100644 --- a/django/contrib/gis/geos/prototypes/__init__.py +++ b/django/contrib/gis/geos/prototypes/__init__.py @@ -24,7 +24,7 @@ from django.contrib.gis.geos.prototypes.misc import * from django.contrib.gis.geos.prototypes.predicates import (geos_hasz, geos_isempty, geos_isring, geos_issimple, geos_isvalid, geos_contains, geos_crosses, geos_disjoint, geos_equals, geos_equalsexact, geos_intersects, - geos_intersects, geos_overlaps, geos_relatepattern, geos_touches, geos_within) + geos_overlaps, geos_relatepattern, geos_touches, geos_within) # Topology routines from django.contrib.gis.geos.prototypes.topology import * diff --git a/django/contrib/sitemaps/__init__.py b/django/contrib/sitemaps/__init__.py index fd71276be7..b8d0a4f31e 100644 --- a/django/contrib/sitemaps/__init__.py +++ b/django/contrib/sitemaps/__init__.py @@ -30,7 +30,6 @@ def ping_google(sitemap_url=None, ping_url=PING_URL): if sitemap_url is None: raise SitemapNotFound("You didn't provide a sitemap_url, and the sitemap URL couldn't be auto-detected.") - from django.contrib.sites.models import Site current_site = Site.objects.get_current() url = "http://%s%s" % (current_site.domain, sitemap_url) params = urlencode({'sitemap':url}) diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py index f7fb8217a9..1e3cdbad9b 100644 --- a/django/db/backends/mysql/base.py +++ b/django/db/backends/mysql/base.py @@ -43,7 +43,6 @@ from django.db.backends.mysql.introspection import DatabaseIntrospection from django.db.backends.mysql.validation import DatabaseValidation from django.utils.encoding import force_str, force_text from django.db.backends.mysql.schema import DatabaseSchemaEditor -from django.utils.encoding import force_str from django.utils.functional import cached_property from django.utils.safestring import SafeBytes, SafeText from django.utils import six diff --git a/django/db/migrations/state.py b/django/db/migrations/state.py index 25b4b2b102..b85c9971b4 100644 --- a/django/db/migrations/state.py +++ b/django/db/migrations/state.py @@ -53,11 +53,11 @@ class ProjectState(object): @classmethod def from_app_cache(cls, app_cache): "Takes in an AppCache and returns a ProjectState matching it" - models = {} + app_models = {} for model in app_cache.get_models(): model_state = ModelState.from_model(model) - models[(model_state.app_label, model_state.name.lower())] = model_state - return cls(models) + app_models[(model_state.app_label, model_state.name.lower())] = model_state + return cls(app_models) def __eq__(self, other): if set(self.models.keys()) != set(other.models.keys()): diff --git a/django/db/models/base.py b/django/db/models/base.py index a9d8695f21..9409454d3e 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -276,7 +276,7 @@ class ModelBase(type): def copy_managers(cls, base_managers): # This is in-place sorting of an Options attribute, but that's fine. base_managers.sort() - for _, mgr_name, manager in base_managers: + for _, mgr_name, manager in base_managers: # NOQA (redefinition of _) val = getattr(cls, mgr_name, None) if not val or val is manager: new_manager = manager._copy_to_model(cls) diff --git a/tests/admin_views/admin.py b/tests/admin_views/admin.py index 5ecc085a78..85f6298a18 100644 --- a/tests/admin_views/admin.py +++ b/tests/admin_views/admin.py @@ -567,11 +567,6 @@ class AlbumAdmin(admin.ModelAdmin): list_filter = ['title'] -class WorkHourAdmin(admin.ModelAdmin): - list_display = ('datum', 'employee') - list_filter = ('employee',) - - class PrePopulatedPostLargeSlugAdmin(admin.ModelAdmin): prepopulated_fields = { 'slug' : ('title',) diff --git a/tests/base/models.py b/tests/base/models.py index 98d379337c..23efdf9d5b 100644 --- a/tests/base/models.py +++ b/tests/base/models.py @@ -20,6 +20,6 @@ class MyModel(six.with_metaclass(CustomBaseModel, models.Model)): # still does not fail to create the model. if six.PY2: - class MyModel(models.Model): + class MyPython2Model(models.Model): """Model subclass with a custom base using __metaclass__.""" __metaclass__ = CustomBaseModel diff --git a/tests/forms_tests/tests/test_media.py b/tests/forms_tests/tests/test_media.py index c492a1e539..7061759bc3 100644 --- a/tests/forms_tests/tests/test_media.py +++ b/tests/forms_tests/tests/test_media.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from django.forms import TextInput, Media, TextInput, CharField, Form, MultiWidget +from django.forms import Media, TextInput, CharField, Form, MultiWidget from django.template import Template, Context from django.test import TestCase from django.test.utils import override_settings diff --git a/tests/m2m_and_m2o/tests.py b/tests/m2m_and_m2o/tests.py index 0380ad4b08..646212bf4f 100644 --- a/tests/m2m_and_m2o/tests.py +++ b/tests/m2m_and_m2o/tests.py @@ -74,7 +74,7 @@ class RelatedObjectTests(TestCase): lambda i: i.num ) -class RelatedObjectTests(TestCase): +class RelatedObjectUnicodeTests(TestCase): def test_m2m_with_unicode_reference(self): """ Regression test for #6045: references to other models can be unicode @@ -85,4 +85,3 @@ class RelatedObjectTests(TestCase): m2.others.add(m1) # used to cause an error (see ticket #6045) m2.save() list(m2.others.all()) # Force retrieval. - diff --git a/tests/mail/tests.py b/tests/mail/tests.py index 7bef1a3bb3..ec99afb5a7 100644 --- a/tests/mail/tests.py +++ b/tests/mail/tests.py @@ -2,7 +2,7 @@ from __future__ import unicode_literals import asyncore -import email +from email import message_from_file, message_from_string from email.mime.text import MIMEText import os import shutil @@ -24,6 +24,11 @@ from django.utils.encoding import force_str, force_text from django.utils.six import PY3, StringIO, string_types from django.utils.translation import ugettext_lazy +if PY3: + from email.utils import parseaddr +else: + from email.Utils import parseaddr + class HeadersCheckMixin(object): @@ -244,7 +249,7 @@ class MailTests(HeadersCheckMixin, SimpleTestCase): msg.attach_alternative(html_content, "text/html") msg.attach("an attachment.pdf", b"%PDF-1.4.%...", mimetype="application/pdf") msg_str = msg.message().as_string() - message = email.message_from_string(msg_str) + message = message_from_string(msg_str) self.assertTrue(message.is_multipart()) self.assertEqual(message.get_content_type(), 'multipart/mixed') self.assertEqual(message.get_default_type(), 'text/plain') @@ -261,7 +266,7 @@ class MailTests(HeadersCheckMixin, SimpleTestCase): # Unicode in file name msg.attach("une pièce jointe.pdf", b"%PDF-1.4.%...", mimetype="application/pdf") msg_str = msg.message().as_string() - message = email.message_from_string(msg_str) + message = message_from_string(msg_str) payload = message.get_payload() self.assertEqual(payload[1].get_filename(), 'une pièce jointe.pdf') @@ -689,7 +694,7 @@ class FileBackendTests(BaseEmailBackendTests, SimpleTestCase): for filename in os.listdir(self.tmp_dir): with open(os.path.join(self.tmp_dir, filename), 'r') as fp: session = force_text(fp.read()).split('\n' + ('-' * 79) + '\n') - messages.extend(email.message_from_string(force_str(m)) for m in session if m) + messages.extend(message_from_string(force_str(m)) for m in session if m) return messages def test_file_sessions(self): @@ -700,7 +705,7 @@ class FileBackendTests(BaseEmailBackendTests, SimpleTestCase): self.assertEqual(len(os.listdir(self.tmp_dir)), 1) with open(os.path.join(self.tmp_dir, os.listdir(self.tmp_dir)[0])) as fp: - message = email.message_from_file(fp) + message = message_from_file(fp) self.assertEqual(message.get_content_type(), 'text/plain') self.assertEqual(message.get('subject'), 'Subject') self.assertEqual(message.get('from'), 'from@example.com') @@ -742,7 +747,7 @@ class ConsoleBackendTests(BaseEmailBackendTests, SimpleTestCase): def get_mailbox_content(self): messages = force_text(self.stream.getvalue()).split('\n' + ('-' * 79) + '\n') - return [email.message_from_string(force_str(m)) for m in messages if m] + return [message_from_string(force_str(m)) for m in messages if m] def test_console_stream_kwarg(self): """ @@ -788,11 +793,8 @@ class FakeSMTPServer(smtpd.SMTPServer, threading.Thread): self.sink_lock = threading.Lock() def process_message(self, peer, mailfrom, rcpttos, data): - m = email.message_from_string(data) - if PY3: - maddr = email.utils.parseaddr(m.get('from'))[1] - else: - maddr = email.Utils.parseaddr(m.get('from'))[1] + m = message_from_string(data) + maddr = parseaddr(m.get('from'))[1] if mailfrom != maddr: return "553 '%s' != '%s'" % (mailfrom, maddr) with self.sink_lock: diff --git a/tests/multiple_database/tests.py b/tests/multiple_database/tests.py index 0550aa2a34..37f59061ac 100644 --- a/tests/multiple_database/tests.py +++ b/tests/multiple_database/tests.py @@ -928,21 +928,21 @@ class ConnectionRouterTestCase(TestCase): 'multiple_database.tests.TestRouter', 'multiple_database.tests.WriteRouter']) def test_router_init_default(self): - router = ConnectionRouter() - self.assertListEqual([r.__class__.__name__ for r in router.routers], + connection_router = ConnectionRouter() + self.assertListEqual([r.__class__.__name__ for r in connection_router.routers], ['TestRouter', 'WriteRouter']) def test_router_init_arg(self): - router = ConnectionRouter([ + connection_router = ConnectionRouter([ 'multiple_database.tests.TestRouter', 'multiple_database.tests.WriteRouter' ]) - self.assertListEqual([r.__class__.__name__ for r in router.routers], + self.assertListEqual([r.__class__.__name__ for r in connection_router.routers], ['TestRouter', 'WriteRouter']) # Init with instances instead of strings - router = ConnectionRouter([TestRouter(), WriteRouter()]) - self.assertListEqual([r.__class__.__name__ for r in router.routers], + connection_router = ConnectionRouter([TestRouter(), WriteRouter()]) + self.assertListEqual([r.__class__.__name__ for r in connection_router.routers], ['TestRouter', 'WriteRouter'])