summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorDavid Smith <smithdc@gmail.com>2020-07-24 07:25:47 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-07-30 10:58:59 +0200
commite74b3d724e5ddfef96d1d66bd1c58e7aae26fc85 (patch)
treee478c6d04bbd8b8e1059d67e4e34e61a7666cc58 /django
parent1173db4a16bb2938ba62a6cd50372a76a7f9e05f (diff)
downloaddjango-e74b3d724e5ddfef96d1d66bd1c58e7aae26fc85.tar.gz
Bumped minimum isort version to 5.1.0.
Fixed inner imports per isort 5. isort 5.0.0 to 5.1.0 was unstable.
Diffstat (limited to 'django')
-rw-r--r--django/apps/registry.py1
-rw-r--r--django/contrib/admin/checks.py3
-rw-r--r--django/contrib/admin/decorators.py2
-rw-r--r--django/contrib/admin/options.py7
-rw-r--r--django/contrib/admin/sites.py4
-rw-r--r--django/contrib/gis/db/backends/oracle/operations.py8
-rw-r--r--django/contrib/gis/db/backends/spatialite/operations.py8
-rw-r--r--django/contrib/gis/db/backends/spatialite/schema.py3
-rw-r--r--django/contrib/gis/geos/geometry.py9
-rw-r--r--django/contrib/gis/management/commands/ogrinspect.py1
-rw-r--r--django/contrib/gis/utils/__init__.py4
-rw-r--r--django/core/files/locks.py6
-rw-r--r--django/core/management/commands/diffsettings.py2
-rw-r--r--django/core/management/commands/shell.py1
-rw-r--r--django/core/serializers/pyyaml.py5
-rw-r--r--django/db/backends/base/base.py2
-rw-r--r--django/db/models/fields/related_lookups.py6
-rw-r--r--django/db/models/functions/mixins.py4
-rw-r--r--django/db/models/lookups.py4
-rw-r--r--django/forms/models.py2
-rw-r--r--django/template/context_processors.py1
-rw-r--r--django/template/defaulttags.py2
-rw-r--r--django/test/client.py1
-rw-r--r--django/test/selenium.py4
-rw-r--r--django/test/signals.py4
-rw-r--r--django/utils/autoreload.py1
-rw-r--r--django/utils/translation/__init__.py4
-rw-r--r--django/utils/translation/reloader.py1
-rw-r--r--django/views/csrf.py2
29 files changed, 68 insertions, 34 deletions
diff --git a/django/apps/registry.py b/django/apps/registry.py
index 408964a146..62650ca4bc 100644
--- a/django/apps/registry.py
+++ b/django/apps/registry.py
@@ -128,6 +128,7 @@ class Apps:
"""Raise an exception if all apps haven't been imported yet."""
if not self.apps_ready:
from django.conf import settings
+
# If "not ready" is due to unconfigured settings, accessing
# INSTALLED_APPS raises a more helpful ImproperlyConfigured
# exception.
diff --git a/django/contrib/admin/checks.py b/django/contrib/admin/checks.py
index a18ba22b46..fea5e24b7c 100644
--- a/django/contrib/admin/checks.py
+++ b/django/contrib/admin/checks.py
@@ -814,8 +814,7 @@ class ModelAdminChecks(BaseModelAdminChecks):
2. ('field', SomeFieldListFilter) - a field-based list filter class
3. SomeListFilter - a non-field list filter class
"""
-
- from django.contrib.admin import ListFilter, FieldListFilter
+ from django.contrib.admin import FieldListFilter, ListFilter
if callable(item) and not isinstance(item, models.Field):
# If item is option 3, it should be a ListFilter...
diff --git a/django/contrib/admin/decorators.py b/django/contrib/admin/decorators.py
index 0c2e35c2b2..1c43c9505c 100644
--- a/django/contrib/admin/decorators.py
+++ b/django/contrib/admin/decorators.py
@@ -10,7 +10,7 @@ def register(*models, site=None):
The `site` kwarg is an admin site to use instead of the default admin site.
"""
from django.contrib.admin import ModelAdmin
- from django.contrib.admin.sites import site as default_site, AdminSite
+ from django.contrib.admin.sites import AdminSite, site as default_site
def _model_admin_wrapper(admin_class):
if not models:
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index e628afbe76..2b02de84e4 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -808,7 +808,7 @@ class ModelAdmin(BaseModelAdmin):
The default implementation creates an admin LogEntry object.
"""
- from django.contrib.admin.models import LogEntry, ADDITION
+ from django.contrib.admin.models import ADDITION, LogEntry
return LogEntry.objects.log_action(
user_id=request.user.pk,
content_type_id=get_content_type_for_model(object).pk,
@@ -824,7 +824,7 @@ class ModelAdmin(BaseModelAdmin):
The default implementation creates an admin LogEntry object.
"""
- from django.contrib.admin.models import LogEntry, CHANGE
+ from django.contrib.admin.models import CHANGE, LogEntry
return LogEntry.objects.log_action(
user_id=request.user.pk,
content_type_id=get_content_type_for_model(object).pk,
@@ -841,7 +841,7 @@ class ModelAdmin(BaseModelAdmin):
The default implementation creates an admin LogEntry object.
"""
- from django.contrib.admin.models import LogEntry, DELETION
+ from django.contrib.admin.models import DELETION, LogEntry
return LogEntry.objects.log_action(
user_id=request.user.pk,
content_type_id=get_content_type_for_model(object).pk,
@@ -1910,6 +1910,7 @@ class ModelAdmin(BaseModelAdmin):
def history_view(self, request, object_id, extra_context=None):
"The 'history' admin view for this model."
from django.contrib.admin.models import LogEntry
+
# First check if the user can see this history.
model = self.model
obj = self.get_object(request, unquote(object_id))
diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py
index 5cdb2a0f72..72aafe9882 100644
--- a/django/contrib/admin/sites.py
+++ b/django/contrib/admin/sites.py
@@ -240,11 +240,11 @@ class AdminSite:
return update_wrapper(inner, view)
def get_urls(self):
- from django.urls import include, path, re_path
# Since this module gets imported in the application's root package,
# it cannot import models from other applications at the module level,
# and django.contrib.contenttypes.views imports ContentType.
from django.contrib.contenttypes import views as contenttype_views
+ from django.urls import include, path, re_path
def wrap(view, cacheable=False):
def wrapper(*args, **kwargs):
@@ -385,11 +385,11 @@ class AdminSite:
index_path = reverse('admin:index', current_app=self.name)
return HttpResponseRedirect(index_path)
- from django.contrib.auth.views import LoginView
# Since this module gets imported in the application's root package,
# it cannot import models from other applications at the module level,
# and django.contrib.admin.forms eventually imports User.
from django.contrib.admin.forms import AdminAuthenticationForm
+ from django.contrib.auth.views import LoginView
context = {
**self.each_context(request),
'title': _('Log in'),
diff --git a/django/contrib/gis/db/backends/oracle/operations.py b/django/contrib/gis/db/backends/oracle/operations.py
index 8cd0bfdf56..9b363aaf4e 100644
--- a/django/contrib/gis/db/backends/oracle/operations.py
+++ b/django/contrib/gis/db/backends/oracle/operations.py
@@ -186,11 +186,15 @@ class OracleOperations(BaseSpatialOperations, DatabaseOperations):
# Routines for getting the OGC-compliant models.
def geometry_columns(self):
- from django.contrib.gis.db.backends.oracle.models import OracleGeometryColumns
+ from django.contrib.gis.db.backends.oracle.models import (
+ OracleGeometryColumns,
+ )
return OracleGeometryColumns
def spatial_ref_sys(self):
- from django.contrib.gis.db.backends.oracle.models import OracleSpatialRefSys
+ from django.contrib.gis.db.backends.oracle.models import (
+ OracleSpatialRefSys,
+ )
return OracleSpatialRefSys
def modify_insert_params(self, placeholder, params):
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
index 332403162c..1fc1cf20e0 100644
--- a/django/contrib/gis/db/backends/spatialite/operations.py
+++ b/django/contrib/gis/db/backends/spatialite/operations.py
@@ -189,11 +189,15 @@ class SpatiaLiteOperations(BaseSpatialOperations, DatabaseOperations):
# Routines for getting the OGC-compliant models.
def geometry_columns(self):
- from django.contrib.gis.db.backends.spatialite.models import SpatialiteGeometryColumns
+ from django.contrib.gis.db.backends.spatialite.models import (
+ SpatialiteGeometryColumns,
+ )
return SpatialiteGeometryColumns
def spatial_ref_sys(self):
- from django.contrib.gis.db.backends.spatialite.models import SpatialiteSpatialRefSys
+ from django.contrib.gis.db.backends.spatialite.models import (
+ SpatialiteSpatialRefSys,
+ )
return SpatialiteSpatialRefSys
def get_geometry_converter(self, expression):
diff --git a/django/contrib/gis/db/backends/spatialite/schema.py b/django/contrib/gis/db/backends/spatialite/schema.py
index 6a4c84ce72..066ce6d732 100644
--- a/django/contrib/gis/db/backends/spatialite/schema.py
+++ b/django/contrib/gis/db/backends/spatialite/schema.py
@@ -83,6 +83,7 @@ class SpatialiteSchemaEditor(DatabaseSchemaEditor):
def delete_model(self, model, **kwargs):
from django.contrib.gis.db.models import GeometryField
+
# Drop spatial metadata (dropping the table does not automatically remove them)
for field in model._meta.local_fields:
if isinstance(field, GeometryField):
@@ -113,6 +114,7 @@ class SpatialiteSchemaEditor(DatabaseSchemaEditor):
def remove_field(self, model, field):
from django.contrib.gis.db.models import GeometryField
+
# NOTE: If the field is a geometry field, the table is just recreated,
# the parent's remove_field can't be used cause it will skip the
# recreation if the field does not have a database type. Geometry fields
@@ -125,6 +127,7 @@ class SpatialiteSchemaEditor(DatabaseSchemaEditor):
def alter_db_table(self, model, old_db_table, new_db_table, disable_constraints=True):
from django.contrib.gis.db.models import GeometryField
+
# Remove geometry-ness from temp table
for field in model._meta.local_fields:
if isinstance(field, GeometryField):
diff --git a/django/contrib/gis/geos/geometry.py b/django/contrib/gis/geos/geometry.py
index e8702db251..bdb3868ac5 100644
--- a/django/contrib/gis/geos/geometry.py
+++ b/django/contrib/gis/geos/geometry.py
@@ -37,12 +37,13 @@ class GEOSGeometryBase(GEOSBase):
if cls is None:
if GEOSGeometryBase._GEOS_CLASSES is None:
# Inner imports avoid import conflicts with GEOSGeometry.
- from .linestring import LineString, LinearRing
- from .point import Point
- from .polygon import Polygon
from .collections import (
- GeometryCollection, MultiPoint, MultiLineString, MultiPolygon,
+ GeometryCollection, MultiLineString, MultiPoint,
+ MultiPolygon,
)
+ from .linestring import LinearRing, LineString
+ from .point import Point
+ from .polygon import Polygon
GEOSGeometryBase._GEOS_CLASSES = {
0: Point,
1: LineString,
diff --git a/django/contrib/gis/management/commands/ogrinspect.py b/django/contrib/gis/management/commands/ogrinspect.py
index 9dffc2abb7..12c1db392f 100644
--- a/django/contrib/gis/management/commands/ogrinspect.py
+++ b/django/contrib/gis/management/commands/ogrinspect.py
@@ -107,6 +107,7 @@ class Command(BaseCommand):
# Returning the output of ogrinspect with the given arguments
# and options.
from django.contrib.gis.utils.ogrinspect import _ogrinspect, mapping
+
# Filter options to params accepted by `_ogrinspect`
ogr_options = {k: v for k, v in options.items()
if k in get_func_args(_ogrinspect) and v is not None}
diff --git a/django/contrib/gis/utils/__init__.py b/django/contrib/gis/utils/__init__.py
index 800b2dbb89..c195ded932 100644
--- a/django/contrib/gis/utils/__init__.py
+++ b/django/contrib/gis/utils/__init__.py
@@ -9,6 +9,8 @@ from django.core.exceptions import ImproperlyConfigured
try:
# LayerMapping requires DJANGO_SETTINGS_MODULE to be set,
# and ImproperlyConfigured is raised if that's not the case.
- from django.contrib.gis.utils.layermapping import LayerMapping, LayerMapError # NOQA
+ from django.contrib.gis.utils.layermapping import ( # NOQA
+ LayerMapError, LayerMapping,
+ )
except ImproperlyConfigured:
pass
diff --git a/django/core/files/locks.py b/django/core/files/locks.py
index 42631b3492..c46b00b905 100644
--- a/django/core/files/locks.py
+++ b/django/core/files/locks.py
@@ -28,8 +28,10 @@ def _fd(f):
if os.name == 'nt':
import msvcrt
- from ctypes import (sizeof, c_ulong, c_void_p, c_int64,
- Structure, Union, POINTER, windll, byref)
+ from ctypes import (
+ POINTER, Structure, Union, byref, c_int64, c_ulong, c_void_p, sizeof,
+ windll,
+ )
from ctypes.wintypes import BOOL, DWORD, HANDLE
LOCK_SH = 0 # the default
diff --git a/django/core/management/commands/diffsettings.py b/django/core/management/commands/diffsettings.py
index 6f93ce2953..5adf35eb66 100644
--- a/django/core/management/commands/diffsettings.py
+++ b/django/core/management/commands/diffsettings.py
@@ -39,7 +39,7 @@ class Command(BaseCommand):
)
def handle(self, **options):
- from django.conf import settings, Settings, global_settings
+ from django.conf import Settings, global_settings, settings
# Because settings are imported lazily, we need to explicitly load them.
if not settings.configured:
diff --git a/django/core/management/commands/shell.py b/django/core/management/commands/shell.py
index 0f74c5ad1b..2b306a579e 100644
--- a/django/core/management/commands/shell.py
+++ b/django/core/management/commands/shell.py
@@ -41,6 +41,7 @@ class Command(BaseCommand):
def python(self, options):
import code
+
# Set up a dictionary to serve as the environment for the shell, so
# that tab completion works on objects that are imported at runtime.
imported_objects = {}
diff --git a/django/core/serializers/pyyaml.py b/django/core/serializers/pyyaml.py
index 8f89a633c8..9719f6e1b4 100644
--- a/django/core/serializers/pyyaml.py
+++ b/django/core/serializers/pyyaml.py
@@ -18,10 +18,9 @@ from django.db import models
# Use the C (faster) implementation if possible
try:
- from yaml import CSafeLoader as SafeLoader
- from yaml import CSafeDumper as SafeDumper
+ from yaml import CSafeDumper as SafeDumper, CSafeLoader as SafeLoader
except ImportError:
- from yaml import SafeLoader, SafeDumper
+ from yaml import SafeDumper, SafeLoader
class DjangoSafeDumper(SafeDumper):
diff --git a/django/db/backends/base/base.py b/django/db/backends/base/base.py
index a1b5b1db64..fcaa4b46e9 100644
--- a/django/db/backends/base/base.py
+++ b/django/db/backends/base/base.py
@@ -1,3 +1,4 @@
+import _thread
import copy
import threading
import time
@@ -5,7 +6,6 @@ import warnings
from collections import deque
from contextlib import contextmanager
-import _thread
import pytz
from django.conf import settings
diff --git a/django/db/models/fields/related_lookups.py b/django/db/models/fields/related_lookups.py
index c20e220141..d745ecd5f9 100644
--- a/django/db/models/fields/related_lookups.py
+++ b/django/db/models/fields/related_lookups.py
@@ -64,7 +64,9 @@ class RelatedIn(In):
# For multicolumn lookups we need to build a multicolumn where clause.
# This clause is either a SubqueryConstraint (for values that need to be compiled to
# SQL) or an OR-combined list of (col1 = val1 AND col2 = val2 AND ...) clauses.
- from django.db.models.sql.where import WhereNode, SubqueryConstraint, AND, OR
+ from django.db.models.sql.where import (
+ AND, OR, SubqueryConstraint, WhereNode,
+ )
root_constraint = WhereNode(connector=OR)
if self.rhs_is_direct_value():
@@ -120,7 +122,7 @@ class RelatedLookupMixin:
if isinstance(self.lhs, MultiColSource):
assert self.rhs_is_direct_value()
self.rhs = get_normalized_value(self.rhs, self.lhs)
- from django.db.models.sql.where import WhereNode, AND
+ from django.db.models.sql.where import AND, WhereNode
root_constraint = WhereNode()
for target, source, val in zip(self.lhs.targets, self.lhs.sources, self.rhs):
lookup_class = target.get_lookup(self.lookup_name)
diff --git a/django/db/models/functions/mixins.py b/django/db/models/functions/mixins.py
index 636340f015..00cfd1bc01 100644
--- a/django/db/models/functions/mixins.py
+++ b/django/db/models/functions/mixins.py
@@ -32,7 +32,9 @@ class FixDurationInputMixin:
if self.output_field.get_internal_type() == 'DurationField':
expression = self.get_source_expressions()[0]
options = self._get_repr_options()
- from django.db.backends.oracle.functions import IntervalToSeconds, SecondsToInterval
+ from django.db.backends.oracle.functions import (
+ IntervalToSeconds, SecondsToInterval,
+ )
return compiler.compile(
SecondsToInterval(self.__class__(IntervalToSeconds(expression), **options))
)
diff --git a/django/db/models/lookups.py b/django/db/models/lookups.py
index f358e50d5b..a4fbb04648 100644
--- a/django/db/models/lookups.py
+++ b/django/db/models/lookups.py
@@ -29,7 +29,9 @@ class Lookup:
if bilateral_transforms:
# Warn the user as soon as possible if they are trying to apply
# a bilateral transformation on a nested QuerySet: that won't work.
- from django.db.models.sql.query import Query # avoid circular import
+ from django.db.models.sql.query import ( # avoid circular import
+ Query,
+ )
if isinstance(rhs, Query):
raise NotImplementedError("Bilateral transformations on nested querysets are not implemented.")
self.bilateral_transforms = bilateral_transforms
diff --git a/django/forms/models.py b/django/forms/models.py
index ab611afca7..5d115458a1 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -815,7 +815,7 @@ class BaseModelFormSet(BaseFormSet):
def add_fields(self, form, index):
"""Add a hidden field for the object's primary key."""
- from django.db.models import AutoField, OneToOneField, ForeignKey
+ from django.db.models import AutoField, ForeignKey, OneToOneField
self._pk_field = pk = self.model._meta.pk
# If a pk isn't editable, then it won't be on the form, so we need to
# add it here so we can tell which object is which when we get the
diff --git a/django/template/context_processors.py b/django/template/context_processors.py
index 0e9efb2f69..25ac1f2661 100644
--- a/django/template/context_processors.py
+++ b/django/template/context_processors.py
@@ -40,6 +40,7 @@ def debug(request):
if settings.DEBUG and request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS:
context_extras['debug'] = True
from django.db import connections
+
# Return a lazy reference that computes connection.queries on access,
# to ensure it contains queries triggered after this function runs.
context_extras['sql_queries'] = lazy(
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py
index 8cc430047b..4084189cf0 100644
--- a/django/template/defaulttags.py
+++ b/django/template/defaulttags.py
@@ -428,7 +428,7 @@ class URLNode(Node):
self.asvar = asvar
def render(self, context):
- from django.urls import reverse, NoReverseMatch
+ from django.urls import NoReverseMatch, reverse
args = [arg.resolve(context) for arg in self.args]
kwargs = {k: v.resolve(context) for k, v in self.kwargs.items()}
view_name = self.view_name.resolve(context)
diff --git a/django/test/client.py b/django/test/client.py
index ce74a5fe53..41fe9e627b 100644
--- a/django/test/client.py
+++ b/django/test/client.py
@@ -611,6 +611,7 @@ class ClientMixin:
def _login(self, user, backend=None):
from django.contrib.auth import login
+
# Create a fake request to store login details.
request = HttpRequest()
if self.session:
diff --git a/django/test/selenium.py b/django/test/selenium.py
index a114f77d14..97a7840fea 100644
--- a/django/test/selenium.py
+++ b/django/test/selenium.py
@@ -70,7 +70,9 @@ class SeleniumTestCaseBase(type(LiveServerTestCase)):
@classmethod
def get_capability(cls, browser):
- from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
+ from selenium.webdriver.common.desired_capabilities import (
+ DesiredCapabilities,
+ )
return getattr(DesiredCapabilities, browser.upper())
def create_options(self):
diff --git a/django/test/signals.py b/django/test/signals.py
index 2ddb425f4c..e1df2accf6 100644
--- a/django/test/signals.py
+++ b/django/test/signals.py
@@ -175,7 +175,9 @@ def static_finders_changed(**kwargs):
@receiver(setting_changed)
def auth_password_validators_changed(**kwargs):
if kwargs['setting'] == 'AUTH_PASSWORD_VALIDATORS':
- from django.contrib.auth.password_validation import get_default_password_validators
+ from django.contrib.auth.password_validation import (
+ get_default_password_validators,
+ )
get_default_password_validators.cache_clear()
diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py
index 09a696a4f9..19326a5118 100644
--- a/django/utils/autoreload.py
+++ b/django/utils/autoreload.py
@@ -300,6 +300,7 @@ class BaseReloader:
logger.debug('Waiting for apps ready_event.')
self.wait_for_apps_ready(apps, django_main_thread)
from django.urls import get_resolver
+
# Prevent a race condition where URL modules aren't loaded when the
# reloader starts by accessing the urlconf_module property.
try:
diff --git a/django/utils/translation/__init__.py b/django/utils/translation/__init__.py
index 728286c78e..0dd2503cee 100644
--- a/django/utils/translation/__init__.py
+++ b/django/utils/translation/__init__.py
@@ -56,7 +56,9 @@ class Trans:
from django.conf import settings
if settings.USE_I18N:
from django.utils.translation import trans_real as trans
- from django.utils.translation.reloader import watch_for_translation_changes, translation_file_changed
+ from django.utils.translation.reloader import (
+ translation_file_changed, watch_for_translation_changes,
+ )
autoreload_started.connect(watch_for_translation_changes, dispatch_uid='translation_file_changed')
file_changed.connect(translation_file_changed, dispatch_uid='translation_file_changed')
else:
diff --git a/django/utils/translation/reloader.py b/django/utils/translation/reloader.py
index 0e5a83699d..695f769e5f 100644
--- a/django/utils/translation/reloader.py
+++ b/django/utils/translation/reloader.py
@@ -30,6 +30,7 @@ def translation_file_changed(sender, file_path, **kwargs):
"""Clear the internal translations cache if a .mo file is modified."""
if file_path.suffix == '.mo':
import gettext
+
from django.utils.translation import trans_real
gettext._translations = {}
trans_real._translations = {}
diff --git a/django/views/csrf.py b/django/views/csrf.py
index 83377b1832..72ac8ba4d6 100644
--- a/django/views/csrf.py
+++ b/django/views/csrf.py
@@ -105,7 +105,7 @@ def csrf_failure(request, reason="", template_name=CSRF_FAILURE_TEMPLATE_NAME):
"""
Default view used when request fails CSRF protection
"""
- from django.middleware.csrf import REASON_NO_REFERER, REASON_NO_CSRF_COOKIE
+ from django.middleware.csrf import REASON_NO_CSRF_COOKIE, REASON_NO_REFERER
c = {
'title': _("Forbidden"),
'main': _("CSRF verification failed. Request aborted."),