summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2024-01-26 12:45:07 +0100
committerGitHub <noreply@github.com>2024-01-26 12:45:07 +0100
commit305757aec19c9d5111e4d76095ae0acd66163e4b (patch)
tree04aa017e66c06b3b19cb466ed4e1d73cd871523d /django
parent3f6d939c62efd967f548c27a265748cc2cc47ca5 (diff)
Applied Black's 2024 stable style.
https://github.com/psf/black/releases/tag/24.1.0
Diffstat (limited to 'django')
-rw-r--r--django/__main__.py1
-rw-r--r--django/contrib/admin/filters.py1
-rw-r--r--django/contrib/admin/options.py14
-rw-r--r--django/contrib/admin/templatetags/admin_list.py14
-rw-r--r--django/contrib/admin/widgets.py1
-rw-r--r--django/contrib/auth/base_user.py1
-rw-r--r--django/contrib/auth/management/__init__.py1
-rw-r--r--django/contrib/auth/management/commands/createsuperuser.py23
-rw-r--r--django/contrib/gis/db/backends/oracle/models.py1
-rw-r--r--django/contrib/gis/db/backends/oracle/operations.py1
-rw-r--r--django/contrib/gis/db/backends/postgis/adapter.py1
-rw-r--r--django/contrib/gis/db/backends/postgis/const.py1
-rw-r--r--django/contrib/gis/db/backends/postgis/models.py1
-rw-r--r--django/contrib/gis/db/backends/spatialite/models.py1
-rw-r--r--django/contrib/gis/db/backends/spatialite/operations.py1
-rw-r--r--django/contrib/gis/db/models/functions.py14
-rw-r--r--django/contrib/gis/db/models/proxy.py1
-rw-r--r--django/contrib/gis/db/models/sql/conversion.py1
-rw-r--r--django/contrib/gis/gdal/__init__.py1
-rw-r--r--django/contrib/gis/gdal/datasource.py1
-rw-r--r--django/contrib/gis/gdal/envelope.py1
-rw-r--r--django/contrib/gis/gdal/geometries.py1
-rw-r--r--django/contrib/gis/gdal/prototypes/ds.py1
-rw-r--r--django/contrib/gis/gdal/prototypes/errcheck.py1
-rw-r--r--django/contrib/gis/gdal/prototypes/generation.py1
-rw-r--r--django/contrib/gis/gdal/prototypes/raster.py1
-rw-r--r--django/contrib/gis/gdal/raster/const.py1
-rw-r--r--django/contrib/gis/gdal/srs.py1
-rw-r--r--django/contrib/gis/geos/__init__.py1
-rw-r--r--django/contrib/gis/geos/collections.py1
-rw-r--r--django/contrib/gis/geos/coordseq.py1
-rw-r--r--django/contrib/gis/geos/geometry.py1
-rw-r--r--django/contrib/gis/geos/io.py1
-rw-r--r--django/contrib/gis/geos/libgeos.py1
-rw-r--r--django/contrib/gis/geos/prototypes/errcheck.py1
-rw-r--r--django/contrib/gis/geos/prototypes/misc.py1
-rw-r--r--django/contrib/gis/geos/prototypes/predicates.py1
-rw-r--r--django/contrib/gis/geos/prototypes/topology.py1
-rw-r--r--django/contrib/gis/utils/__init__.py1
-rw-r--r--django/contrib/gis/utils/ogrinspect.py1
-rw-r--r--django/contrib/postgres/search.py8
-rw-r--r--django/contrib/sessions/base_session.py1
-rw-r--r--django/contrib/staticfiles/views.py1
-rw-r--r--django/core/cache/__init__.py1
-rw-r--r--django/core/exceptions.py1
-rw-r--r--django/core/files/images.py1
-rw-r--r--django/core/files/locks.py1
-rw-r--r--django/core/files/uploadhandler.py1
-rw-r--r--django/core/mail/__init__.py1
-rw-r--r--django/core/mail/backends/console.py1
-rw-r--r--django/core/mail/backends/locmem.py1
-rw-r--r--django/core/mail/backends/smtp.py1
-rw-r--r--django/core/management/base.py23
-rw-r--r--django/core/serializers/base.py1
-rw-r--r--django/core/serializers/xml_serializer.py1
-rw-r--r--django/db/backends/base/schema.py16
-rw-r--r--django/db/backends/ddl_references.py1
-rw-r--r--django/db/backends/mysql/base.py1
-rw-r--r--django/db/backends/oracle/base.py1
-rw-r--r--django/db/backends/oracle/creation.py18
-rw-r--r--django/db/backends/postgresql/base.py8
-rw-r--r--django/db/backends/postgresql/schema.py6
-rw-r--r--django/db/backends/sqlite3/_functions.py1
-rw-r--r--django/db/backends/sqlite3/base.py1
-rw-r--r--django/db/migrations/autodetector.py17
-rw-r--r--django/db/migrations/loader.py10
-rw-r--r--django/db/migrations/operations/models.py10
-rw-r--r--django/db/migrations/state.py10
-rw-r--r--django/db/models/aggregates.py1
-rw-r--r--django/db/models/base.py8
-rw-r--r--django/db/models/constants.py1
-rw-r--r--django/db/models/expressions.py42
-rw-r--r--django/db/models/fields/related_descriptors.py1
-rw-r--r--django/db/models/fields/reverse_related.py1
-rw-r--r--django/db/models/functions/comparison.py1
-rw-r--r--django/db/models/functions/datetime.py16
-rw-r--r--django/db/models/functions/math.py8
-rw-r--r--django/db/models/functions/mixins.py8
-rw-r--r--django/db/models/functions/text.py8
-rw-r--r--django/db/models/indexes.py8
-rw-r--r--django/db/models/lookups.py8
-rw-r--r--django/db/models/query.py20
-rw-r--r--django/db/models/query_utils.py1
-rw-r--r--django/db/models/sql/compiler.py6
-rw-r--r--django/db/models/sql/datastructures.py1
-rw-r--r--django/db/models/sql/query.py1
-rw-r--r--django/db/models/sql/where.py1
-rw-r--r--django/forms/models.py10
-rw-r--r--django/forms/widgets.py22
-rw-r--r--django/http/multipartparser.py1
-rw-r--r--django/http/request.py8
-rw-r--r--django/middleware/csrf.py1
-rw-r--r--django/shortcuts.py1
-rw-r--r--django/template/defaultfilters.py1
-rw-r--r--django/template/defaulttags.py1
-rw-r--r--django/template/engine.py8
-rw-r--r--django/template/smartif.py1
-rw-r--r--django/test/html.py1
-rw-r--r--django/urls/conf.py1
-rw-r--r--django/urls/resolvers.py9
-rw-r--r--django/utils/archive.py1
-rw-r--r--django/utils/cache.py1
-rw-r--r--django/utils/crypto.py1
-rw-r--r--django/utils/dateformat.py1
-rw-r--r--django/utils/deconstruct.py8
-rw-r--r--django/utils/feedgenerator.py1
-rw-r--r--django/utils/jslex.py1
-rw-r--r--django/utils/regex_helper.py1
-rw-r--r--django/utils/translation/__init__.py1
-rw-r--r--django/utils/translation/trans_real.py1
-rw-r--r--django/views/decorators/http.py1
-rw-r--r--django/views/static.py1
112 files changed, 306 insertions, 164 deletions
diff --git a/django/__main__.py b/django/__main__.py
index 8b96e91ea8..7415143848 100644
--- a/django/__main__.py
+++ b/django/__main__.py
@@ -3,6 +3,7 @@ Invokes django-admin when the django module is run as a script.
Example: python -m django check
"""
+
from django.core import management
if __name__ == "__main__":
diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py
index 06dedf8727..675c4a5d49 100644
--- a/django/contrib/admin/filters.py
+++ b/django/contrib/admin/filters.py
@@ -5,6 +5,7 @@ Filters are specified in models with the "list_filter" option.
Each filter subclass knows how to display a filter for a field that passes a
certain test -- e.g. being a DateField or ForeignKey.
"""
+
import datetime
from django.contrib.admin.exceptions import NotRegistered
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index e3703f5866..d97597fe66 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -1759,9 +1759,9 @@ class ModelAdmin(BaseModelAdmin):
has_delete_permission = inline.has_delete_permission(request, obj)
else:
# Disable all edit-permissions, and override formset settings.
- has_add_permission = (
- has_change_permission
- ) = has_delete_permission = False
+ has_add_permission = has_change_permission = has_delete_permission = (
+ False
+ )
formset.extra = formset.max_num = 0
has_view_permission = inline.has_view_permission(request, obj)
prepopulated = dict(inline.get_prepopulated_fields(request, obj))
@@ -1896,9 +1896,11 @@ class ModelAdmin(BaseModelAdmin):
form,
list(fieldsets),
# Clear prepopulated fields on a view-only form to avoid a crash.
- self.get_prepopulated_fields(request, obj)
- if add or self.has_change_permission(request, obj)
- else {},
+ (
+ self.get_prepopulated_fields(request, obj)
+ if add or self.has_change_permission(request, obj)
+ else {}
+ ),
readonly_fields,
model_admin=self,
)
diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py
index 2dcdf62afb..0c32290b6c 100644
--- a/django/contrib/admin/templatetags/admin_list.py
+++ b/django/contrib/admin/templatetags/admin_list.py
@@ -171,9 +171,9 @@ def result_headers(cl):
"url_primary": cl.get_query_string({ORDER_VAR: ".".join(o_list_primary)}),
"url_remove": cl.get_query_string({ORDER_VAR: ".".join(o_list_remove)}),
"url_toggle": cl.get_query_string({ORDER_VAR: ".".join(o_list_toggle)}),
- "class_attrib": format_html(' class="{}"', " ".join(th_classes))
- if th_classes
- else "",
+ "class_attrib": (
+ format_html(' class="{}"', " ".join(th_classes)) if th_classes else ""
+ ),
}
@@ -270,9 +270,11 @@ def items_for_result(cl, result, form):
link_or_text = format_html(
'<a href="{}"{}>{}</a>',
url,
- format_html(' data-popup-opener="{}"', value)
- if cl.is_popup
- else "",
+ (
+ format_html(' data-popup-opener="{}"', value)
+ if cl.is_popup
+ else ""
+ ),
result_repr,
)
diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py
index 3352e75e79..216b87671b 100644
--- a/django/contrib/admin/widgets.py
+++ b/django/contrib/admin/widgets.py
@@ -1,6 +1,7 @@
"""
Form Widget classes specific to the Django admin site.
"""
+
import copy
import json
diff --git a/django/contrib/auth/base_user.py b/django/contrib/auth/base_user.py
index ccfe19fcc1..0c9538d69d 100644
--- a/django/contrib/auth/base_user.py
+++ b/django/contrib/auth/base_user.py
@@ -2,6 +2,7 @@
This module allows importing AbstractBaseUser even when django.contrib.auth is
not in INSTALLED_APPS.
"""
+
import unicodedata
from django.conf import settings
diff --git a/django/contrib/auth/management/__init__.py b/django/contrib/auth/management/__init__.py
index ad31a6e68f..b29a980cb2 100644
--- a/django/contrib/auth/management/__init__.py
+++ b/django/contrib/auth/management/__init__.py
@@ -1,6 +1,7 @@
"""
Creates permissions for all installed apps that need permissions.
"""
+
import getpass
import unicodedata
diff --git a/django/contrib/auth/management/commands/createsuperuser.py b/django/contrib/auth/management/commands/createsuperuser.py
index 6d650cca67..75ef68ff68 100644
--- a/django/contrib/auth/management/commands/createsuperuser.py
+++ b/django/contrib/auth/management/commands/createsuperuser.py
@@ -1,6 +1,7 @@
"""
Management utility to create superusers.
"""
+
import getpass
import os
import sys
@@ -271,15 +272,19 @@ class Command(BaseCommand):
return "%s%s%s: " % (
capfirst(field.verbose_name),
" (leave blank to use '%s')" % default if default else "",
- " (%s.%s)"
- % (
- field.remote_field.model._meta.object_name,
- field.m2m_target_field_name()
- if field.many_to_many
- else field.remote_field.field_name,
- )
- if field.remote_field
- else "",
+ (
+ " (%s.%s)"
+ % (
+ field.remote_field.model._meta.object_name,
+ (
+ field.m2m_target_field_name()
+ if field.many_to_many
+ else field.remote_field.field_name
+ ),
+ )
+ if field.remote_field
+ else ""
+ ),
)
@cached_property
diff --git a/django/contrib/gis/db/backends/oracle/models.py b/django/contrib/gis/db/backends/oracle/models.py
index f06f73148e..af749c3435 100644
--- a/django/contrib/gis/db/backends/oracle/models.py
+++ b/django/contrib/gis/db/backends/oracle/models.py
@@ -7,6 +7,7 @@
For example, the `USER_SDO_GEOM_METADATA` is used for the GeometryColumns
model and the `SDO_COORD_REF_SYS` is used for the SpatialRefSys model.
"""
+
from django.contrib.gis.db import models
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin
diff --git a/django/contrib/gis/db/backends/oracle/operations.py b/django/contrib/gis/db/backends/oracle/operations.py
index ed86985cf8..eb86dc39de 100644
--- a/django/contrib/gis/db/backends/oracle/operations.py
+++ b/django/contrib/gis/db/backends/oracle/operations.py
@@ -7,6 +7,7 @@
support for an internal JVM, and Java libraries are required to use
the WKT constructors.
"""
+
import re
from django.contrib.gis.db import models
diff --git a/django/contrib/gis/db/backends/postgis/adapter.py b/django/contrib/gis/db/backends/postgis/adapter.py
index c95f903253..c9715e1756 100644
--- a/django/contrib/gis/db/backends/postgis/adapter.py
+++ b/django/contrib/gis/db/backends/postgis/adapter.py
@@ -1,6 +1,7 @@
"""
This object provides quoting for GEOS geometries into PostgreSQL/PostGIS.
"""
+
from django.contrib.gis.db.backends.postgis.pgraster import to_pgraster
from django.contrib.gis.geos import GEOSGeometry
from django.db.backends.postgresql.psycopg_any import sql
diff --git a/django/contrib/gis/db/backends/postgis/const.py b/django/contrib/gis/db/backends/postgis/const.py
index 2f4393d25e..8bc16a1abb 100644
--- a/django/contrib/gis/db/backends/postgis/const.py
+++ b/django/contrib/gis/db/backends/postgis/const.py
@@ -1,6 +1,7 @@
"""
PostGIS to GDAL conversion constant definitions
"""
+
# Lookup to convert pixel type values from GDAL to PostGIS
GDAL_TO_POSTGIS = [None, 4, 6, 5, 8, 7, 10, 11, None, None, None, None]
diff --git a/django/contrib/gis/db/backends/postgis/models.py b/django/contrib/gis/db/backends/postgis/models.py
index b7b568274a..e35ef75ce9 100644
--- a/django/contrib/gis/db/backends/postgis/models.py
+++ b/django/contrib/gis/db/backends/postgis/models.py
@@ -1,6 +1,7 @@
"""
The GeometryColumns and SpatialRefSys models for the PostGIS backend.
"""
+
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin
from django.db import models
diff --git a/django/contrib/gis/db/backends/spatialite/models.py b/django/contrib/gis/db/backends/spatialite/models.py
index 7cc98ae126..0f5f7b55ef 100644
--- a/django/contrib/gis/db/backends/spatialite/models.py
+++ b/django/contrib/gis/db/backends/spatialite/models.py
@@ -1,6 +1,7 @@
"""
The GeometryColumns and SpatialRefSys models for the SpatiaLite backend.
"""
+
from django.contrib.gis.db.backends.base.models import SpatialRefSysMixin
from django.db import models
diff --git a/django/contrib/gis/db/backends/spatialite/operations.py b/django/contrib/gis/db/backends/spatialite/operations.py
index 8a3d84b5de..3d10a53641 100644
--- a/django/contrib/gis/db/backends/spatialite/operations.py
+++ b/django/contrib/gis/db/backends/spatialite/operations.py
@@ -2,6 +2,7 @@
SQL functions reference lists:
https://www.gaia-gis.it/gaia-sins/spatialite-sql-4.3.0.html
"""
+
from django.contrib.gis.db import models
from django.contrib.gis.db.backends.base.operations import BaseSpatialOperations
from django.contrib.gis.db.backends.spatialite.adapter import SpatiaLiteAdapter
diff --git a/django/contrib/gis/db/models/functions.py b/django/contrib/gis/db/models/functions.py
index 419b64c5e8..acbaa5ffc0 100644
--- a/django/contrib/gis/db/models/functions.py
+++ b/django/contrib/gis/db/models/functions.py
@@ -127,9 +127,11 @@ class SQLiteDecimalToFloatMixin:
copy = self.copy()
copy.set_source_expressions(
[
- Value(float(expr.value))
- if hasattr(expr, "value") and isinstance(expr.value, Decimal)
- else expr
+ (
+ Value(float(expr.value))
+ if hasattr(expr, "value") and isinstance(expr.value, Decimal)
+ else expr
+ )
for expr in copy.get_source_expressions()
]
)
@@ -349,9 +351,9 @@ class Distance(DistanceResultMixin, OracleToleranceMixin, GeoFunc):
def as_sqlite(self, compiler, connection, **extra_context):
if self.geo_field.geodetic(connection):
# SpatiaLite returns NULL instead of zero on geodetic coordinates
- extra_context[
- "template"
- ] = "COALESCE(%(function)s(%(expressions)s, %(spheroid)s), 0)"
+ extra_context["template"] = (
+ "COALESCE(%(function)s(%(expressions)s, %(spheroid)s), 0)"
+ )
extra_context["spheroid"] = int(bool(self.spheroid))
return super().as_sql(compiler, connection, **extra_context)
diff --git a/django/contrib/gis/db/models/proxy.py b/django/contrib/gis/db/models/proxy.py
index 4db365dc16..b415e147fc 100644
--- a/django/contrib/gis/db/models/proxy.py
+++ b/django/contrib/gis/db/models/proxy.py
@@ -5,6 +5,7 @@ objects corresponding to geographic model fields.
Thanks to Robert Coup for providing this functionality (see #4322).
"""
+
from django.db.models.query_utils import DeferredAttribute
diff --git a/django/contrib/gis/db/models/sql/conversion.py b/django/contrib/gis/db/models/sql/conversion.py
index be712319fb..7802b2dd1e 100644
--- a/django/contrib/gis/db/models/sql/conversion.py
+++ b/django/contrib/gis/db/models/sql/conversion.py
@@ -2,6 +2,7 @@
This module holds simple classes to convert geospatial values from the
database.
"""
+
from decimal import Decimal
from django.contrib.gis.measure import Area, Distance
diff --git a/django/contrib/gis/gdal/__init__.py b/django/contrib/gis/gdal/__init__.py
index 9ed6e31156..e63808d39d 100644
--- a/django/contrib/gis/gdal/__init__.py
+++ b/django/contrib/gis/gdal/__init__.py
@@ -25,6 +25,7 @@
by setting `GDAL_LIBRARY_PATH` in your settings with the path to the GDAL C
library on your system.
"""
+
from django.contrib.gis.gdal.datasource import DataSource
from django.contrib.gis.gdal.driver import Driver
from django.contrib.gis.gdal.envelope import Envelope
diff --git a/django/contrib/gis/gdal/datasource.py b/django/contrib/gis/gdal/datasource.py
index 8900777117..2ce859ad13 100644
--- a/django/contrib/gis/gdal/datasource.py
+++ b/django/contrib/gis/gdal/datasource.py
@@ -33,6 +33,7 @@
# OFTReal returns floats, all else returns string.
val = field.value
"""
+
from pathlib import Path
from django.contrib.gis.gdal.base import GDALBase
diff --git a/django/contrib/gis/gdal/envelope.py b/django/contrib/gis/gdal/envelope.py
index 4c2c1e4a1a..05832bd7cc 100644
--- a/django/contrib/gis/gdal/envelope.py
+++ b/django/contrib/gis/gdal/envelope.py
@@ -10,6 +10,7 @@
| |
Lower left (min_x, min_y) o----------+
"""
+
from ctypes import Structure, c_double
from django.contrib.gis.gdal.error import GDALException
diff --git a/django/contrib/gis/gdal/geometries.py b/django/contrib/gis/gdal/geometries.py
index f4ba5816a2..4c1f74d4b0 100644
--- a/django/contrib/gis/gdal/geometries.py
+++ b/django/contrib/gis/gdal/geometries.py
@@ -38,6 +38,7 @@
>>> print(gt1 == 3, gt1 == 'Polygon') # Equivalence works w/non-OGRGeomType objects
True True
"""
+
import sys
import warnings
from binascii import b2a_hex
diff --git a/django/contrib/gis/gdal/prototypes/ds.py b/django/contrib/gis/gdal/prototypes/ds.py
index e3ef2699e9..71148f1b55 100644
--- a/django/contrib/gis/gdal/prototypes/ds.py
+++ b/django/contrib/gis/gdal/prototypes/ds.py
@@ -3,6 +3,7 @@
related data structures. OGR_Dr_*, OGR_DS_*, OGR_L_*, OGR_F_*,
OGR_Fld_* routines are relevant here.
"""
+
from ctypes import POINTER, c_char_p, c_double, c_int, c_long, c_uint, c_void_p
from django.contrib.gis.gdal.envelope import OGREnvelope
diff --git a/django/contrib/gis/gdal/prototypes/errcheck.py b/django/contrib/gis/gdal/prototypes/errcheck.py
index 52bb7cb083..d37e81cdf6 100644
--- a/django/contrib/gis/gdal/prototypes/errcheck.py
+++ b/django/contrib/gis/gdal/prototypes/errcheck.py
@@ -2,6 +2,7 @@
This module houses the error-checking routines used by the GDAL
ctypes prototypes.
"""
+
from ctypes import c_void_p, string_at
from django.contrib.gis.gdal.error import GDALException, SRSException, check_err
diff --git a/django/contrib/gis/gdal/prototypes/generation.py b/django/contrib/gis/gdal/prototypes/generation.py
index 230e56f665..4d34a96e70 100644
--- a/django/contrib/gis/gdal/prototypes/generation.py
+++ b/django/contrib/gis/gdal/prototypes/generation.py
@@ -2,6 +2,7 @@
This module contains functions that generate ctypes prototypes for the
GDAL routines.
"""
+
from ctypes import POINTER, c_bool, c_char_p, c_double, c_int, c_int64, c_void_p
from functools import partial
diff --git a/django/contrib/gis/gdal/prototypes/raster.py b/django/contrib/gis/gdal/prototypes/raster.py
index 17ee4a1926..d1dd9ec4e2 100644
--- a/django/contrib/gis/gdal/prototypes/raster.py
+++ b/django/contrib/gis/gdal/prototypes/raster.py
@@ -2,6 +2,7 @@
This module houses the ctypes function prototypes for GDAL DataSource (raster)
related data structures.
"""
+
from ctypes import POINTER, c_bool, c_char_p, c_double, c_int, c_void_p
from functools import partial
diff --git a/django/contrib/gis/gdal/raster/const.py b/django/contrib/gis/gdal/raster/const.py
index dccc9cfab4..a1ab62f37a 100644
--- a/django/contrib/gis/gdal/raster/const.py
+++ b/django/contrib/gis/gdal/raster/const.py
@@ -1,6 +1,7 @@
"""
GDAL - Constant definitions
"""
+
from ctypes import (
c_double,
c_float,
diff --git a/django/contrib/gis/gdal/srs.py b/django/contrib/gis/gdal/srs.py
index 9417c6684d..0a8d95c1fc 100644
--- a/django/contrib/gis/gdal/srs.py
+++ b/django/contrib/gis/gdal/srs.py
@@ -26,6 +26,7 @@
>>> print(srs.name)
NAD83 / Texas South Central
"""
+
from ctypes import byref, c_char_p, c_int
from enum import IntEnum
from types import NoneType
diff --git a/django/contrib/gis/geos/__init__.py b/django/contrib/gis/geos/__init__.py
index 27de1ca8e6..f50cd19856 100644
--- a/django/contrib/gis/geos/__init__.py
+++ b/django/contrib/gis/geos/__init__.py
@@ -2,6 +2,7 @@
The GeoDjango GEOS module. Please consult the GeoDjango documentation
for more details: https://docs.djangoproject.com/en/dev/ref/contrib/gis/geos/
"""
+
from .collections import ( # NOQA
GeometryCollection,
MultiLineString,
diff --git a/django/contrib/gis/geos/collections.py b/django/contrib/gis/geos/collections.py
index abfec8af3d..35262a5622 100644
--- a/django/contrib/gis/geos/collections.py
+++ b/django/contrib/gis/geos/collections.py
@@ -2,6 +2,7 @@
This module houses the Geometry Collection objects:
GeometryCollection, MultiPoint, MultiLineString, and MultiPolygon
"""
+
from django.contrib.gis.geos import prototypes as capi
from django.contrib.gis.geos.geometry import GEOSGeometry, LinearGeometryMixin
from django.contrib.gis.geos.libgeos import GEOM_PTR
diff --git a/django/contrib/gis/geos/coordseq.py b/django/contrib/gis/geos/coordseq.py
index 0ff4ecb2e5..15400e08fe 100644
--- a/django/contrib/gis/geos/coordseq.py
+++ b/django/contrib/gis/geos/coordseq.py
@@ -3,6 +3,7 @@
by GEOSGeometry to house the actual coordinates of the Point,
LineString, and LinearRing geometries.
"""
+
from ctypes import byref, c_byte, c_double, c_uint
from django.contrib.gis.geos import prototypes as capi
diff --git a/django/contrib/gis/geos/geometry.py b/django/contrib/gis/geos/geometry.py
index 00b36af0a6..8bbe2c264a 100644
--- a/django/contrib/gis/geos/geometry.py
+++ b/django/contrib/gis/geos/geometry.py
@@ -2,6 +2,7 @@
This module contains the 'base' GEOSGeometry object -- all GEOS Geometries
inherit from this object.
"""
+
import re
from ctypes import addressof, byref, c_double
diff --git a/django/contrib/gis/geos/io.py b/django/contrib/gis/geos/io.py
index d7898065f0..8dd3f289e6 100644
--- a/django/contrib/gis/geos/io.py
+++ b/django/contrib/gis/geos/io.py
@@ -3,6 +3,7 @@ Module that holds classes for performing I/O operations on GEOS geometry
objects. Specifically, this has Python implementations of WKB/WKT
reader and writer classes.
"""
+
from django.contrib.gis.geos.geometry import GEOSGeometry
from django.contrib.gis.geos.prototypes.io import (
WKBWriter,
diff --git a/django/contrib/gis/geos/libgeos.py b/django/contrib/gis/geos/libgeos.py
index 1121b4f715..b883c6c090 100644
--- a/django/contrib/gis/geos/libgeos.py
+++ b/django/contrib/gis/geos/libgeos.py
@@ -6,6 +6,7 @@
This module also houses GEOS Pointer utilities, including
get_pointer_arr(), and GEOM_PTR.
"""
+
import logging
import os
from ctypes import CDLL, CFUNCTYPE, POINTER, Structure, c_char_p
diff --git a/django/contrib/gis/geos/prototypes/errcheck.py b/django/contrib/gis/geos/prototypes/errcheck.py
index a527f513a7..42b24c2891 100644
--- a/django/contrib/gis/geos/prototypes/errcheck.py
+++ b/django/contrib/gis/geos/prototypes/errcheck.py
@@ -1,6 +1,7 @@
"""
Error checking functions for GEOS ctypes prototype functions.
"""
+
from ctypes import c_void_p, string_at
from django.contrib.gis.geos.error import GEOSException
diff --git a/django/contrib/gis/geos/prototypes/misc.py b/django/contrib/gis/geos/prototypes/misc.py
index fccd0ecc9e..bd5859e79b 100644
--- a/django/contrib/gis/geos/prototypes/misc.py
+++ b/django/contrib/gis/geos/prototypes/misc.py
@@ -2,6 +2,7 @@
This module is for the miscellaneous GEOS routines, particularly the
ones that return the area, distance, and length.
"""
+
from ctypes import POINTER, c_double, c_int
from django.contrib.gis.geos.libgeos import GEOM_PTR, GEOSFuncFactory
diff --git a/django/contrib/gis/geos/prototypes/predicates.py b/django/contrib/gis/geos/prototypes/predicates.py
index 32b790173a..dd07cbfb26 100644
--- a/django/contrib/gis/geos/prototypes/predicates.py
+++ b/django/contrib/gis/geos/prototypes/predicates.py
@@ -2,6 +2,7 @@
This module houses the GEOS ctypes prototype functions for the
unary and binary predicate operations on geometries.
"""
+
from ctypes import c_byte, c_char_p, c_double
from django.contrib.gis.geos.libgeos import GEOM_PTR, GEOSFuncFactory
diff --git a/django/contrib/gis/geos/prototypes/topology.py b/django/contrib/gis/geos/prototypes/topology.py
index e61eae964a..9323bb2d16 100644
--- a/django/contrib/gis/geos/prototypes/topology.py
+++ b/django/contrib/gis/geos/prototypes/topology.py
@@ -2,6 +2,7 @@
This module houses the GEOS ctypes prototype functions for the
topological operations on geometries.
"""
+
from ctypes import c_double, c_int
from django.contrib.gis.geos.libgeos import GEOM_PTR, GEOSFuncFactory
diff --git a/django/contrib/gis/utils/__init__.py b/django/contrib/gis/utils/__init__.py
index 12f032c665..f42fa90226 100644
--- a/django/contrib/gis/utils/__init__.py
+++ b/django/contrib/gis/utils/__init__.py
@@ -1,6 +1,7 @@
"""
This module contains useful utilities for GeoDjango.
"""
+
from django.contrib.gis.utils.ogrinfo import ogrinfo
from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect
from django.contrib.gis.utils.srs import add_srs_entry
diff --git a/django/contrib/gis/utils/ogrinspect.py b/django/contrib/gis/utils/ogrinspect.py
index 40ca0cb461..76c8bfbcfa 100644
--- a/django/contrib/gis/utils/ogrinspect.py
+++ b/django/contrib/gis/utils/ogrinspect.py
@@ -3,6 +3,7 @@ This module is for inspecting OGR data sources and generating either
models for GeoDjango and/or mapping dictionaries for use with the
`LayerMapping` utility.
"""
+
from django.contrib.gis.gdal import DataSource
from django.contrib.gis.gdal.field import (
OFTDate,
diff --git a/django/contrib/postgres/search.py b/django/contrib/postgres/search.py
index 936709c2f8..4d279857c6 100644
--- a/django/contrib/postgres/search.py
+++ b/django/contrib/postgres/search.py
@@ -116,9 +116,11 @@ class SearchVector(SearchVectorCombinable, Func):
clone.set_source_expressions(
[
Coalesce(
- expression
- if isinstance(expression.output_field, (CharField, TextField))
- else Cast(expression, TextField()),
+ (
+ expression
+ if isinstance(expression.output_field, (CharField, TextField))
+ else Cast(expression, TextField())
+ ),
Value(""),
)
for expression in clone.get_source_expressions()
diff --git a/django/contrib/sessions/base_session.py b/django/contrib/sessions/base_session.py
index 603d2fe12c..8809dd36f7 100644
--- a/django/contrib/sessions/base_session.py
+++ b/django/contrib/sessions/base_session.py
@@ -2,6 +2,7 @@
This module allows importing AbstractBaseSession even
when django.contrib.sessions is not in INSTALLED_APPS.
"""
+
from django.db import models
from django.utils.translation import gettext_lazy as _
diff --git a/django/contrib/staticfiles/views.py b/django/contrib/staticfiles/views.py
index 83d04d4cec..3fb2677322 100644
--- a/django/contrib/staticfiles/views.py
+++ b/django/contrib/staticfiles/views.py
@@ -3,6 +3,7 @@ Views and functions for serving static files. These are only to be used during
development, and SHOULD NOT be used in a production setting.
"""
+
import os
import posixpath
diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py
index eb7fa5b2e9..444d958e68 100644
--- a/django/core/cache/__init__.py
+++ b/django/core/cache/__init__.py
@@ -12,6 +12,7 @@ object.
See docs/topics/cache.txt for information on the public API.
"""
+
from django.core import signals
from django.core.cache.backends.base import (
BaseCache,
diff --git a/django/core/exceptions.py b/django/core/exceptions.py
index 2a2288ff4d..31c18ee7e1 100644
--- a/django/core/exceptions.py
+++ b/django/core/exceptions.py
@@ -1,6 +1,7 @@
"""
Global Django exception and warning classes.
"""
+
import operator
from django.utils.hashable import make_hashable
diff --git a/django/core/files/images.py b/django/core/files/images.py
index 6a603f24fc..7c1532ac8f 100644
--- a/django/core/files/images.py
+++ b/django/core/files/images.py
@@ -3,6 +3,7 @@ Utility functions for handling images.
Requires Pillow as you might imagine.
"""
+
import struct
import zlib
diff --git a/django/core/files/locks.py b/django/core/files/locks.py
index c0f471f87d..a7a7a22dce 100644
--- a/django/core/files/locks.py
+++ b/django/core/files/locks.py
@@ -16,6 +16,7 @@ Example Usage::
... locks.lock(f, locks.LOCK_EX)
... f.write('Django')
"""
+
import os
__all__ = ("LOCK_EX", "LOCK_SH", "LOCK_NB", "lock", "unlock")
diff --git a/django/core/files/uploadhandler.py b/django/core/files/uploadhandler.py
index b6c185e8fc..ab86f7fede 100644
--- a/django/core/files/uploadhandler.py
+++ b/django/core/files/uploadhandler.py
@@ -1,6 +1,7 @@
"""
Base file upload handler classes, and the built-in concrete subclasses
"""
+
import os
from io import BytesIO
diff --git a/django/core/mail/__init__.py b/django/core/mail/__init__.py
index dc63e8702c..676326697b 100644
--- a/django/core/mail/__init__.py
+++ b/django/core/mail/__init__.py
@@ -1,6 +1,7 @@
"""
Tools for sending email.
"""
+
from django.conf import settings
# Imported for backwards compatibility and for the sake
diff --git a/django/core/mail/backends/console.py b/django/core/mail/backends/console.py
index ee5dd28504..2d7c778cc1 100644
--- a/django/core/mail/backends/console.py
+++ b/django/core/mail/backends/console.py
@@ -1,6 +1,7 @@
"""
Email backend that writes messages to console instead of sending them.
"""
+
import sys
import threading
diff --git a/django/core/mail/backends/locmem.py b/django/core/mail/backends/locmem.py
index 344350e891..f5473da952 100644
--- a/django/core/mail/backends/locmem.py
+++ b/django/core/mail/backends/locmem.py
@@ -1,6 +1,7 @@
"""
Backend for test environment.
"""
+
import copy
from django.core import mail
diff --git a/django/core/mail/backends/smtp.py b/django/core/mail/backends/smtp.py
index 1ee48269ae..6820148ac1 100644
--- a/django/core/mail/backends/smtp.py
+++ b/django/core/mail/backends/smtp.py
@@ -1,4 +1,5 @@
"""SMTP email backend class."""
+
import smtplib
import ssl
import threading
diff --git a/django/core/management/base.py b/django/core/management/base.py
index 631c761c00..4c47e1c6e5 100644
--- a/django/core/management/base.py
+++ b/django/core/management/base.py
@@ -2,6 +2,7 @@
Base classes for writing management commands (named commands which can
be executed through ``django-admin`` or ``manage.py``).
"""
+
import argparse
import os
import sys
@@ -528,9 +529,11 @@ class BaseCommand:
if issues:
visible_issue_count += len(issues)
formatted = (
- self.style.ERROR(str(e))
- if e.is_serious()
- else self.style.WARNING(str(e))
+ (
+ self.style.ERROR(str(e))
+ if e.is_serious()
+ else self.style.WARNING(str(e))
+ )
for e in issues
)
formatted = "\n".join(sorted(formatted))
@@ -543,11 +546,15 @@ class BaseCommand:
if visible_issue_count:
footer += "\n"
footer += "System check identified %s (%s silenced)." % (
- "no issues"
- if visible_issue_count == 0
- else "1 issue"
- if visible_issue_count == 1
- else "%s issues" % visible_issue_count,
+ (
+ "no issues"
+ if visible_issue_count == 0
+ else (
+ "1 issue"
+ if visible_issue_count == 1
+ else "%s issues" % visible_issue_count
+ )
+ ),
len(all_issues) - visible_issue_count,
)
diff --git a/django/core/serializers/base.py b/django/core/serializers/base.py
index 20dffac05f..1fbca9244b 100644
--- a/django/core/serializers/base.py
+++ b/django/core/serializers/base.py
@@ -1,6 +1,7 @@
"""
Module for abstract serializer/unserializer base classes.
"""
+
from io import StringIO
from django.core.exceptions import ObjectDoesNotExist
diff --git a/django/core/serializers/xml_serializer.py b/django/core/serializers/xml_serializer.py
index 3f9955aa23..16b69770f6 100644
--- a/django/core/serializers/xml_serializer.py
+++ b/django/core/serializers/xml_serializer.py
@@ -1,6 +1,7 @@
"""
XML serializer.
"""
+
import json
from xml.dom import pulldom
from xml.sax import handler
diff --git a/django/db/backends/base/schema.py b/django/db/backends/base/schema.py
index f01abf46b0..242083b850 100644
--- a/django/db/backends/base/schema.py
+++ b/django/db/backends/base/schema.py
@@ -724,9 +724,9 @@ class BaseDatabaseSchemaEditor:
namespace, _ = split_identifier(model._meta.db_table)
definition += " " + self.sql_create_column_inline_fk % {
"name": self._fk_constraint_name(model, field, constraint_suffix),
- "namespace": "%s." % self.quote_name(namespace)
- if namespace
- else "",
+ "namespace": (
+ "%s." % self.quote_name(namespace) if namespace else ""
+ ),
"column": self.quote_name(field.column),
"to_table": self.quote_name(to_table),
"to_column": self.quote_name(to_column),
@@ -1919,11 +1919,13 @@ class BaseDatabaseSchemaEditor:
"""Return all constraint names matching the columns and conditions."""
if column_names is not None:
column_names = [
- self.connection.introspection.identifier_converter(
- truncate_name(name, self.connection.ops.max_name_length())
+ (
+ self.connection.introspection.identifier_converter(
+ truncate_name(name, self.connection.ops.max_name_length())
+ )
+ if self.connection.features.truncates_names
+ else self.connection.introspection.identifier_converter(name)
)
- if self.connection.features.truncates_names
- else self.connection.introspection.identifier_converter(name)
for name in column_names
]
with self.connection.cursor() as cursor:
diff --git a/django/db/backends/ddl_references.py b/django/db/backends/ddl_references.py
index 412d07a993..75787ef8ab 100644
--- a/django/db/backends/ddl_references.py
+++ b/django/db/backends/ddl_references.py
@@ -2,6 +2,7 @@
Helpers to manipulate deferred DDL statements that might need to be adjusted or
discarded within when executing a migration.
"""
+
from copy import deepcopy
diff --git a/django/db/backends/mysql/base.py b/django/db/backends/mysql/base.py
index f36139881d..b8d2d09c94 100644
--- a/django/db/backends/mysql/base.py
+++ b/django/db/backends/mysql/base.py
@@ -3,6 +3,7 @@ MySQL database backend for Django.
Requires mysqlclient: https://pypi.org/project/mysqlclient/
"""
+
from django.core.exceptions import ImproperlyConfigured
from django.db import IntegrityError
from django.db.backends import utils as backend_utils
diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py
index 2d91468d25..f626c4d2d4 100644
--- a/django/db/backends/oracle/base.py
+++ b/django/db/backends/oracle/base.py
@@ -3,6 +3,7 @@ Oracle database backend for Django.
Requires oracledb: https://oracle.github.io/python-oracledb/
"""
+
import datetime
import decimal
import os
diff --git a/django/db/backends/oracle/creation.py b/django/db/backends/oracle/creation.py
index df773bff8c..b0a5177728 100644
--- a/django/db/backends/oracle/creation.py
+++ b/django/db/backends/oracle/creation.py
@@ -133,20 +133,20 @@ class DatabaseCreation(BaseDatabaseCreation):
credentials in the SAVED_USER/SAVED_PASSWORD key in the settings dict.
"""
real_settings = settings.DATABASES[self.connection.alias]
- real_settings["SAVED_USER"] = self.connection.settings_dict[
- "SAVED_USER"
- ] = self.connection.settings_dict["USER"]
+ real_settings["SAVED_USER"] = self.connection.settings_dict["SAVED_USER"] = (
+ self.connection.settings_dict["USER"]
+ )
real_settings["SAVED_PASSWORD"] = self.connection.settings_dict[
"SAVED_PASSWORD"
] = self.connection.settings_dict["PASSWORD"]
real_test_settings = real_settings["TEST"]
test_settings = self.connection.settings_dict["TEST"]
- real_test_settings["USER"] = real_settings["USER"] = test_settings[
- "USER"
- ] = self.connection.settings_dict["USER"] = parameters["user"]
- real_settings["PASSWORD"] = self.connection.settings_dict[
- "PASSWORD"
- ] = parameters["password"]
+ real_test_settings["USER"] = real_settings["USER"] = test_settings["USER"] = (
+ self.connection.settings_dict["USER"]
+ ) = parameters["user"]
+ real_settings["PASSWORD"] = self.connection.settings_dict["PASSWORD"] = (
+ parameters["password"]
+ )
def set_as_test_mirror(self, primary_settings_dict):
"""
diff --git a/django/db/backends/postgresql/base.py b/django/db/backends/postgresql/base.py
index cba89e0cc7..8349d8f310 100644
--- a/django/db/backends/postgresql/base.py
+++ b/django/db/backends/postgresql/base.py
@@ -226,9 +226,11 @@ class DatabaseWrapper(BaseDatabaseWrapper):
server_side_binding = conn_params.pop("server_side_binding", None)
conn_params.setdefault(
"cursor_factory",
- ServerBindingCursor
- if is_psycopg3 and server_side_binding is True
- else Cursor,
+ (
+ ServerBindingCursor
+ if is_psycopg3 and server_side_binding is True
+ else Cursor
+ ),
)
if settings_dict["USER"]:
conn_params["user"] = settings_dict["USER"]
diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py
index 5dc93a27d0..842830be30 100644
--- a/django/db/backends/postgresql/schema.py
+++ b/django/db/backends/postgresql/schema.py
@@ -267,9 +267,9 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor):
% {
"column": self.quote_name(new_field.column),
"type": new_type,
- "collation": " " + self._collate_sql(new_collation)
- if new_collation
- else "",
+ "collation": (
+ " " + self._collate_sql(new_collation) if new_collation else ""
+ ),
},
[],
)
diff --git a/django/db/backends/sqlite3/_functions.py b/django/db/backends/sqlite3/_functions.py
index 7e86950f7d..0171b60f38 100644
--- a/django/db/backends/sqlite3/_functions.py
+++ b/django/db/backends/sqlite3/_functions.py
@@ -1,6 +1,7 @@
"""
Implementations of SQL functions for SQLite.
"""
+
import functools
import random
import statistics
diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 08de0bad5a..10a296c992 100644
--- a/django/db/backends/sqlite3/base.py
+++ b/django/db/backends/sqlite3/base.py
@@ -1,6 +1,7 @@
"""
SQLite backend for the sqlite3 module in the standard library.
"""
+
import datetime
import decimal
import warnings
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py
index 6b01403d18..f000d9fcaa 100644
--- a/django/db/migrations/autodetector.py
+++ b/django/db/migrations/autodetector.py
@@ -620,11 +620,12 @@ class MigrationAutodetector:
rem_model_state.app_label,
rem_model_state.name_lower,
)
- self.renamed_models_rel[
- renamed_models_rel_key
- ] = "%s.%s" % (
- model_state.app_label,
- model_state.name_lower,
+ self.renamed_models_rel[renamed_models_rel_key] = (
+ "%s.%s"
+ % (
+ model_state.app_label,
+ model_state.name_lower,
+ )
)
self.old_model_keys.remove((rem_app_label, rem_model_name))
self.old_model_keys.add((app_label, model_name))
@@ -1058,9 +1059,9 @@ class MigrationAutodetector:
(rem_app_label, rem_model_name, rem_field_name)
)
old_field_keys.add((app_label, model_name, field_name))
- self.renamed_fields[
- app_label, model_name, field_name
- ] = rem_field_name
+ self.renamed_fields[app_label, model_name, field_name] = (
+ rem_field_name
+ )
break
def generate_renamed_fields(self):
diff --git a/django/db/migrations/loader.py b/django/db/migrations/loader.py
index 81dcd06e04..50445f3101 100644
--- a/django/db/migrations/loader.py
+++ b/django/db/migrations/loader.py
@@ -131,11 +131,11 @@ class MigrationLoader:
"Migration %s in app %s has no Migration class"
% (migration_name, app_config.label)
)
- self.disk_migrations[
- app_config.label, migration_name
- ] = migration_module.Migration(
- migration_name,
- app_config.label,
+ self.disk_migrations[app_config.label, migration_name] = (
+ migration_module.Migration(
+ migration_name,
+ app_config.label,
+ )
)
def get_migration(self, app_label, name_prefix):
diff --git a/django/db/migrations/operations/models.py b/django/db/migrations/operations/models.py
index b24a8f6557..38c68f3ff3 100644
--- a/django/db/migrations/operations/models.py
+++ b/django/db/migrations/operations/models.py
@@ -56,11 +56,11 @@ class CreateModel(ModelOperation):
_check_for_duplicates(
"bases",
(
- base._meta.label_lower
- if hasattr(base, "_meta")
- else base.lower()
- if isinstance(base, str)
- else base
+ (
+ base._meta.label_lower
+ if hasattr(base, "_meta")
+ else base.lower() if isinstance(base, str) else base
+ )
for base in self.bases
),
)
diff --git a/django/db/migrations/state.py b/django/db/migrations/state.py
index 5ffd7fc07a..42a2c80a5e 100644
--- a/django/db/migrations/state.py
+++ b/django/db/migrations/state.py
@@ -524,11 +524,11 @@ class ProjectState:
if model_state.options.get("proxy"):
proxy_models[model_key] = model_state
# Find a concrete model for the proxy.
- concrete_models_mapping[
- model_key
- ] = self._find_concrete_model_from_proxy(
- proxy_models,
- model_state,
+ concrete_models_mapping[model_key] = (
+ self._find_concrete_model_from_proxy(
+ proxy_models,
+ model_state,
+ )
)
else:
concrete_models_mapping[model_key] = model_key
diff --git a/django/db/models/aggregates.py b/django/db/models/aggregates.py
index a778cd413b..0cbffacd1b 100644
--- a/django/db/models/aggregates.py
+++ b/django/db/models/aggregates.py
@@ -1,6 +1,7 @@
"""
Classes to represent the definitions of aggregate functions.
"""
+
from django.core.exceptions import FieldError, FullResultSet
from django.db.models.expressions import Case, Func, Star, Value, When
from django.db.models.fields import IntegerField
diff --git a/django/db/models/base.py b/django/db/models/base.py
index 61925f63ea..c1f78d0632 100644
--- a/django/db/models/base.py
+++ b/django/db/models/base.py
@@ -2265,9 +2265,11 @@ class Model(AltersData, metaclass=ModelBase):
opts = cls._meta
valid_fields = set(
chain.from_iterable(
- (f.name, f.attname)
- if not (f.auto_created and not f.concrete)
- else (f.field.related_query_name(),)
+ (
+ (f.name, f.attname)
+ if not (f.auto_created and not f.concrete)
+ else (f.field.related_query_name(),)
+ )
for f in chain(opts.fields, opts.related_objects)
)
)
diff --git a/django/db/models/constants.py b/django/db/models/constants.py
index a0c99c95fc..cec1b9b90f 100644
--- a/django/db/models/constants.py
+++ b/django/db/models/constants.py
@@ -1,6 +1,7 @@
"""
Constants used across the ORM in general.
"""
+
from enum import Enum
# Separator used to split filter strings apart.
diff --git a/django/db/models/expressions.py b/django/db/models/expressions.py
index f25ad1af12..6d329ae85d 100644
--- a/django/db/models/expressions.py
+++ b/django/db/models/expressions.py
@@ -204,9 +204,11 @@ class BaseExpression:
def _parse_expressions(self, *expressions):
return [
- arg
- if hasattr(arg, "resolve_expression")
- else (F(arg) if isinstance(arg, str) else Value(arg))
+ (
+ arg
+ if hasattr(arg, "resolve_expression")
+ else (F(arg) if isinstance(arg, str) else Value(arg))
+ )
for arg in expressions
]
@@ -285,9 +287,11 @@ class BaseExpression:
c.is_summary = summarize
c.set_source_expressions(
[
- expr.resolve_expression(query, allow_joins, reuse, summarize)
- if expr
- else None
+ (
+ expr.resolve_expression(query, allow_joins, reuse, summarize)
+ if expr
+ else None
+ )
for expr in c.get_source_expressions()
]
)
@@ -366,22 +370,16 @@ class BaseExpression:
field = self.output_field
internal_type = field.get_internal_type()
if internal_type == "FloatField":
- return (
- lambda value, expression, connection: None
- if value is None
- else float(value)
+ return lambda value, expression, connection: (
+ None if value is None else float(value)
)
elif internal_type.endswith("IntegerField"):
- return (
- lambda value, expression, connection: None
- if value is None
- else int(value)
+ return lambda value, expression, connection: (
+ None if value is None else int(value)
)
elif internal_type == "DecimalField":
- return (
- lambda value, expression, connection: None
- if value is None
- else Decimal(value)
+ return lambda value, expression, connection: (
+ None if value is None else Decimal(value)
)
return self._convert_value_noop
@@ -432,9 +430,11 @@ class BaseExpression:
clone = self.copy()
clone.set_source_expressions(
[
- F(f"{prefix}{expr.name}")
- if isinstance(expr, F)
- else expr.prefix_references(prefix)
+ (
+ F(f"{prefix}{expr.name}")
+ if isinstance(expr, F)
+ else expr.prefix_references(prefix)
+ )
for expr in self.get_source_expressions()
]
)
diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py
index f5a81ab49c..62ddfc60b3 100644
--- a/django/db/models/fields/related_descriptors.py
+++ b/django/db/models/fields/related_descriptors.py
@@ -62,6 +62,7 @@ and two directions (forward and reverse) for a total of six combinations.
If you're looking for ``ForwardManyToManyDescriptor`` or
``ReverseManyToManyDescriptor``, use ``ManyToManyDescriptor`` instead.
"""
+
import warnings
from asgiref.sync import sync_to_async
diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py
index c74e92ba89..144cce6142 100644
--- a/django/db/models/fields/reverse_related.py
+++ b/django/db/models/fields/reverse_related.py
@@ -8,6 +8,7 @@ in the ``remote_field`` attribute of the field.
They also act as reverse fields for the purposes of the Meta API because
they're the closest concept currently available.
"""
+
import warnings
from django.core import exceptions
diff --git a/django/db/models/functions/comparison.py b/django/db/models/functions/comparison.py
index ae41f1da95..6db81d6f46 100644
--- a/django/db/models/functions/comparison.py
+++ b/django/db/models/functions/comparison.py
@@ -1,4 +1,5 @@
"""Database functions that do comparisons or type conversions."""
+
from django.db import NotSupportedError
from django.db.models.expressions import Func, Value
from django.db.models.fields import TextField
diff --git a/django/db/models/functions/datetime.py b/django/db/models/functions/datetime.py
index fca211e065..9937e79f6f 100644
--- a/django/db/models/functions/datetime.py
+++ b/django/db/models/functions/datetime.py
@@ -318,9 +318,11 @@ class TruncBase(TimezoneMixin, Transform):
"Cannot truncate DateField '%s' to %s."
% (
field.name,
- output_field.__class__.__name__
- if has_explicit_output_field
- else "DateTimeField",
+ (
+ output_field.__class__.__name__
+ if has_explicit_output_field
+ else "DateTimeField"
+ ),
)
)
elif isinstance(field, TimeField) and (
@@ -331,9 +333,11 @@ class TruncBase(TimezoneMixin, Transform):
"Cannot truncate TimeField '%s' to %s."
% (
field.name,
- output_field.__class__.__name__
- if has_explicit_output_field
- else "DateTimeField",
+ (
+ output_field.__class__.__name__
+ if has_explicit_output_field
+ else "DateTimeField"
+ ),
)
)
return copy
diff --git a/django/db/models/functions/math.py b/django/db/models/functions/math.py
index 460143ba5a..5fa4654a84 100644
--- a/django/db/models/functions/math.py
+++ b/django/db/models/functions/math.py
@@ -47,9 +47,11 @@ class ATan2(NumericOutputFieldMixin, Func):
clone = self.copy()
clone.set_source_expressions(
[
- Cast(expression, FloatField())
- if isinstance(expression.output_field, IntegerField)
- else expression
+ (
+ Cast(expression, FloatField())
+ if isinstance(expression.output_field, IntegerField)
+ else expression
+ )
for expression in self.get_source_expressions()[::-1]
]
)
diff --git a/django/db/models/functions/mixins.py b/django/db/models/functions/mixins.py
index 661eee1c13..0f6f0a2aa8 100644
--- a/django/db/models/functions/mixins.py
+++ b/django/db/models/functions/mixins.py
@@ -14,9 +14,11 @@ class FixDecimalInputMixin:
clone = self.copy()
clone.set_source_expressions(
[
- Cast(expression, output_field)
- if isinstance(expression.output_field, FloatField)
- else expression
+ (
+ Cast(expression, output_field)
+ if isinstance(expression.output_field, FloatField)
+ else expression
+ )
for expression in self.get_source_expressions()
]
)
diff --git a/django/db/models/functions/text.py b/django/db/models/functions/text.py
index 392061880c..df826ffdb5 100644
--- a/django/db/models/functions/text.py
+++ b/django/db/models/functions/text.py
@@ -89,9 +89,11 @@ class ConcatPair(Func):
c = self.copy()
c.set_source_expressions(
[
- expression
- if isinstance(expression.output_field, (CharField, TextField))
- else Cast(expression, TextField())
+ (
+ expression
+ if isinstance(expression.output_field, (CharField, TextField))
+ else Cast(expression, TextField())
+ )
for expression in c.get_source_expressions()
]
)
diff --git a/django/db/models/indexes.py b/django/db/models/indexes.py
index b5451f9e24..0ddfefec38 100644
--- a/django/db/models/indexes.py
+++ b/django/db/models/indexes.py
@@ -196,9 +196,11 @@ class Index:
"" if not self.fields else " fields=%s" % repr(self.fields),
"" if not self.expressions else " expressions=%s" % repr(self.expressions),
"" if not self.name else " name=%s" % repr(self.name),
- ""
- if self.db_tablespace is None
- else " db_tablespace=%s" % repr(self.db_tablespace),
+ (
+ ""
+ if self.db_tablespace is None
+ else " db_tablespace=%s" % repr(self.db_tablespace)
+ ),
"" if self.condition is None else " condition=%s" % self.condition,
"" if not self.include else " include=%s" % repr(self.include),
"" if not self.opclasses else " opclasses=%s" % repr(self.opclasses),
diff --git a/django/db/models/lookups.py b/django/db/models/lookups.py
index 4a6e2b3241..139875eed5 100644
--- a/django/db/models/lookups.py
+++ b/django/db/models/lookups.py
@@ -273,9 +273,11 @@ class FieldGetDbPrepValueMixin:
return (
"%s",
[
- v
- if hasattr(v, "as_sql")
- else get_db_prep_value(v, connection, prepared=True)
+ (
+ v
+ if hasattr(v, "as_sql")
+ else get_db_prep_value(v, connection, prepared=True)
+ )
for v in value
],
)
diff --git a/django/db/models/query.py b/django/db/models/query.py
index 61d4002000..b9e2d1f7e5 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -109,9 +109,11 @@ class ModelIterable(BaseIterable):
related_objs,
operator.attrgetter(
*[
- field.attname
- if from_field == "self"
- else queryset.model._meta.get_field(from_field).attname
+ (
+ field.attname
+ if from_field == "self"
+ else queryset.model._meta.get_field(from_field).attname
+ )
for from_field in field.from_fields
]
),
@@ -1391,9 +1393,7 @@ class QuerySet(AltersData):
clone._iterable_class = (
NamedValuesListIterable
if named
- else FlatValuesListIterable
- if flat
- else ValuesListIterable
+ else FlatValuesListIterable if flat else ValuesListIterable
)
return clone
@@ -1659,9 +1659,11 @@ class QuerySet(AltersData):
if names is None:
names = set(
chain.from_iterable(
- (field.name, field.attname)
- if hasattr(field, "attname")
- else (field.name,)
+ (
+ (field.name, field.attname)
+ if hasattr(field, "attname")
+ else (field.name,)
+ )
for field in self.model._meta.get_fields()
)
)
diff --git a/django/db/models/query_utils.py b/django/db/models/query_utils.py
index 4f3358eb8d..e1041b9653 100644
--- a/django/db/models/query_utils.py
+++ b/django/db/models/query_utils.py
@@ -5,6 +5,7 @@ Factored out from django.db.models.query to avoid making the main module very
large and/or so that they can be used by other modules without getting into
circular import difficulties.
"""
+
import functools
import inspect
import logging
diff --git a/django/db/models/sql/compiler.py b/django/db/models/sql/compiler.py
index 10338259d5..9a0d2eb4e7 100644
--- a/django/db/models/sql/compiler.py
+++ b/django/db/models/sql/compiler.py
@@ -1224,9 +1224,9 @@ class SQLCompiler:
"field": f,
"reverse": False,
"local_setter": f.set_cached_value,
- "remote_setter": f.remote_field.set_cached_value
- if f.unique
- else lambda x, y: None,
+ "remote_setter": (
+ f.remote_field.set_cached_value if f.unique else lambda x, y: None
+ ),
"from_parent": False,
}
related_klass_infos.append(klass_info)
diff --git a/django/db/models/sql/datastructures.py b/django/db/models/sql/datastructures.py
index 5eaa8c25f6..7c0c14a46e 100644
--- a/django/db/models/sql/datastructures.py
+++ b/django/db/models/sql/datastructures.py
@@ -2,6 +2,7 @@
Useful auxiliary data structures for query construction. Not useful outside
the SQL domain.
"""
+
import warnings
from django.core.exceptions import FullResultSet
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py
index ce4fafb1e2..6e8813b5e7 100644
--- a/django/db/models/sql/query.py
+++ b/django/db/models/sql/query.py
@@ -6,6 +6,7 @@ themselves do not have to (and could be backed by things other than SQL
databases). The abstraction barrier only works one way: this module has to know
all about the internals of models in order to get the information it needs.
"""
+
import copy
import difflib
import functools
diff --git a/django/db/models/sql/where.py b/django/db/models/sql/where.py
index 8423fcb528..0fded5cce3 100644
--- a/django/db/models/sql/where.py
+++ b/django/db/models/sql/where.py
@@ -1,6 +1,7 @@
"""
Code to manage the creation and SQL rendering of 'where' constraints.
"""
+
import operator
from functools import reduce
diff --git a/django/forms/models.py b/django/forms/models.py
index 6a2608c0b3..cd6986d72a 100644
--- a/django/forms/models.py
+++ b/django/forms/models.py
@@ -2,6 +2,7 @@
Helper functions for creating Form classes from Django models
and database field objects.
"""
+
from itertools import chain
from django.core.exceptions import (
@@ -830,9 +831,12 @@ class BaseModelFormSet(BaseFormSet, AltersData):
)
# Reduce Model instances to their primary key values
row_data = tuple(
- d._get_pk_val() if hasattr(d, "_get_pk_val")
- # Prevent "unhashable type: list" errors later on.
- else tuple(d) if isinstance(d, list) else d
+ (
+ d._get_pk_val()
+ if hasattr(d, "_get_pk_val")
+ # Prevent "unhashable type: list" errors later on.
+ else tuple(d) if isinstance(d, list) else d
+ )
for d in row_data
)
if row_data and None not in row_data:
diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index 2c734052d5..4fae110d5e 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -101,9 +101,11 @@ class Media:
def render_js(self):
return [
- path.__html__()
- if hasattr(path, "__html__")
- else format_html('<script src="{}"></script>', self.absolute_path(path))
+ (
+ path.__html__()
+ if hasattr(path, "__html__")
+ else format_html('<script src="{}"></script>', self.absolute_path(path))
+ )
for path in self._js
]
@@ -113,12 +115,14 @@ class Media:
media = sorted(self._css)
return chain.from_iterable(
[
- path.__html__()
- if hasattr(path, "__html__")
- else format_html(
- '<link href="{}" media="{}" rel="stylesheet">',
- self.absolute_path(path),
- medium,
+ (
+ path.__html__()
+ if hasattr(path, "__html__")
+ else format_html(
+ '<link href="{}" media="{}" rel="stylesheet">',
+ self.absolute_path(path),
+ medium,
+ )
)
for path in self._css[medium]
]
diff --git a/django/http/multipartparser.py b/django/http/multipartparser.py
index dfd406c35e..58b8546be7 100644
--- a/django/http/multipartparser.py
+++ b/django/http/multipartparser.py
@@ -4,6 +4,7 @@ Multi-part parsing for file uploads.
Exposes one class, ``MultiPartParser``, which feeds chunks of uploaded data to
file upload handlers for processing.
"""
+
import base64
import binascii
import collections
diff --git a/django/http/request.py b/django/http/request.py
index fe15a173be..4c27d576ba 100644
--- a/django/http/request.py
+++ b/django/http/request.py
@@ -170,9 +170,11 @@ class HttpRequest:
return "%s%s%s" % (
escape_uri_path(path),
"/" if force_append_slash and not path.endswith("/") else "",
- ("?" + iri_to_uri(self.META.get("QUERY_STRING", "")))
- if self.META.get("QUERY_STRING", "")
- else "",
+ (
+ ("?" + iri_to_uri(self.META.get("QUERY_STRING", "")))
+ if self.META.get("QUERY_STRING", "")
+ else ""
+ ),
)
def get_signed_cookie(self, key, default=RAISE_ERROR, salt="", max_age=None):
diff --git a/django/middleware/csrf.py b/django/middleware/csrf.py
index 2c0d2cc120..f7943494ba 100644
--- a/django/middleware/csrf.py
+++ b/django/middleware/csrf.py
@@ -4,6 +4,7 @@ Cross Site Request Forgery Middleware.
This module provides a middleware that implements protection
against request forgeries from other sites.
"""
+
import logging
import string
from collections import defaultdict
diff --git a/django/shortcuts.py b/django/shortcuts.py
index 822e6107ac..b8b5be1f5f 100644
--- a/django/shortcuts.py
+++ b/django/shortcuts.py
@@ -3,6 +3,7 @@ This module collects helper functions and classes that "span" multiple levels
of MVC. In other words, these functions/classes introduce controlled coupling
for convenience's sake.
"""
+
from django.http import (
Http404,
HttpResponse,
diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py
index 1e1bdbc5c9..a08ce2710d 100644
--- a/django/template/defaultfilters.py
+++ b/django/template/defaultfilters.py
@@ -1,4 +1,5 @@
"""Default variable filters."""
+
import random as random_module
import re
import types
diff --git a/django/template/defaulttags.py b/django/template/defaulttags.py
index 40c2917f56..dd0a6b3579 100644
--- a/django/template/defaulttags.py
+++ b/django/template/defaulttags.py
@@ -1,4 +1,5 @@
"""Default tags used by the template system, available to all templates."""
+
import re
import sys
import warnings
diff --git a/django/template/engine.py b/django/template/engine.py
index f2215c0e4e..9882d3a16d 100644
--- a/django/template/engine.py
+++ b/django/template/engine.py
@@ -70,9 +70,11 @@ class Engine:
self.__class__.__qualname__,
"" if not self.dirs else " dirs=%s" % repr(self.dirs),
self.app_dirs,
- ""
- if not self.context_processors
- else " context_processors=%s" % repr(self.context_processors),
+ (
+ ""
+ if not self.context_processors
+ else " context_processors=%s" % repr(self.context_processors)
+ ),
self.debug,
repr(self.loaders),
repr(self.string_if_invalid),
diff --git a/django/template/smartif.py b/django/template/smartif.py
index 5b15a5a476..0a917c2aaa 100644
--- a/django/template/smartif.py
+++ b/django/template/smartif.py
@@ -1,6 +1,7 @@
"""
Parser and utilities for the smart 'if' tag
"""
+
# Using a simple top down parser, as described here:
# http://effbot.org/zone/simple-top-down-parsing.htm.
# 'led' = left denotation
diff --git a/django/test/html.py b/django/test/html.py
index 6da79d6fb2..33d1d4dafb 100644
--- a/django/test/html.py
+++ b/django/test/html.py
@@ -1,4 +1,5 @@
"""Compare two HTML documents."""
+
import html
from html.parser import HTMLParser
diff --git a/django/urls/conf.py b/django/urls/conf.py
index 40708028a3..bb61063d77 100644
--- a/django/urls/conf.py
+++ b/django/urls/conf.py
@@ -1,4 +1,5 @@
"""Functions for use in URLsconfs."""
+
from functools import partial
from importlib import import_module
diff --git a/django/urls/resolvers.py b/django/urls/resolvers.py
index 89ae18694c..3607c84228 100644
--- a/django/urls/resolvers.py
+++ b/django/urls/resolvers.py
@@ -5,6 +5,7 @@ URLResolver is the main class here. Its resolve() method takes a URL (as
a string) and returns a ResolverMatch object which provides access to all
attributes of the resolved URL match.
"""
+
import functools
import inspect
import re
@@ -91,9 +92,11 @@ class ResolverMatch:
self.app_names,
self.namespaces,
self.route,
- f", captured_kwargs={self.captured_kwargs!r}"
- if self.captured_kwargs
- else "",
+ (
+ f", captured_kwargs={self.captured_kwargs!r}"
+ if self.captured_kwargs
+ else ""
+ ),
f", extra_kwargs={self.extra_kwargs!r}" if self.extra_kwargs else "",
)
)
diff --git a/django/utils/archive.py b/django/utils/archive.py
index 71ec2d0015..56f34c0038 100644
--- a/django/utils/archive.py
+++ b/django/utils/archive.py
@@ -21,6 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
"""
+
import os
import shutil
import stat
diff --git a/django/utils/cache.py b/django/utils/cache.py
index cf797d0279..3b014fbe51 100644
--- a/django/utils/cache.py
+++ b/django/utils/cache.py
@@ -14,6 +14,7 @@ cache keys to prevent delivery of wrong content.
An example: i18n middleware would need to distinguish caches by the
"Accept-language" header.
"""
+
import time
from collections import defaultdict
from hashlib import md5
diff --git a/django/utils/crypto.py b/django/utils/crypto.py
index 1c0e7001c6..5134b854d6 100644
--- a/django/utils/crypto.py
+++ b/django/utils/crypto.py
@@ -1,6 +1,7 @@
"""
Django's standard crypto functions and utilities.
"""
+
import hashlib
import hmac
import secrets
diff --git a/django/utils/dateformat.py b/django/utils/dateformat.py
index a6c315e4cf..a3274b901c 100644
--- a/django/utils/dateformat.py
+++ b/django/utils/dateformat.py
@@ -10,6 +10,7 @@ Usage:
7th October 2003 11:39
>>>
"""
+
import calendar
from datetime import date, datetime, time
from email.utils import format_datetime as format_datetime_rfc5322
diff --git a/django/utils/deconstruct.py b/django/utils/deconstruct.py
index f8754c1974..2e5463a651 100644
--- a/django/utils/deconstruct.py
+++ b/django/utils/deconstruct.py
@@ -42,9 +42,11 @@ def deconstructible(*args, path=None):
"#serializing-values" % (name, module_name, get_docs_version())
)
return (
- path
- if path and type(obj) is klass
- else f"{obj.__class__.__module__}.{name}",
+ (
+ path
+ if path and type(obj) is klass
+ else f"{obj.__class__.__module__}.{name}"
+ ),
obj._constructor_args[0],
obj._constructor_args[1],
)
diff --git a/django/utils/feedgenerator.py b/django/utils/feedgenerator.py
index 31ca9a2db9..3bd456ca68 100644
--- a/django/utils/feedgenerator.py
+++ b/django/utils/feedgenerator.py
@@ -21,6 +21,7 @@ Sample usage:
For definitions of the different versions of RSS, see:
https://web.archive.org/web/20110718035220/http://diveintomark.org/archives/2004/02/04/incompatible-rss
"""
+
import datetime
import email
from io import StringIO
diff --git a/django/utils/jslex.py b/django/utils/jslex.py
index 93a1a2e972..fc46a686c7 100644
--- a/django/utils/jslex.py
+++ b/django/utils/jslex.py
@@ -1,4 +1,5 @@
"""JsLex: a lexer for JavaScript"""
+
# Originally from https://bitbucket.org/ned/jslex
import re
diff --git a/django/utils/regex_helper.py b/django/utils/regex_helper.py
index 9ee82e1a9b..b71298e399 100644
--- a/django/utils/regex_helper.py
+++ b/django/utils/regex_helper.py
@@ -5,6 +5,7 @@ Used internally by Django and not intended for external use.
This is not, and is not intended to be, a complete reg-exp decompiler. It
should be good enough for a large class of URLS, however.
"""
+
import re
from django.utils.functional import SimpleLazyObject
diff --git a/django/utils/translation/__init__.py b/django/utils/translation/__init__.py
index 0b3f78e486..0618f02159 100644
--- a/django/utils/translation/__init__.py
+++ b/django/utils/translation/__init__.py
@@ -1,6 +1,7 @@
"""
Internationalization support.
"""
+
from contextlib import ContextDecorator
from decimal import ROUND_UP, Decimal
diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py
index 872c80b00f..a629528717 100644
--- a/django/utils/translation/trans_real.py
+++ b/django/utils/translation/trans_real.py
@@ -1,4 +1,5 @@
"""Translation helper functions."""
+
import functools
import gettext as gettext_module
import os
diff --git a/django/views/decorators/http.py b/django/views/decorators/http.py
index 5d5dcbc790..a4c1ebc31e 100644
--- a/django/views/decorators/http.py
+++ b/django/views/decorators/http.py
@@ -1,6 +1,7 @@
"""
Decorators for views based on HTTP headers.
"""
+
import datetime
from functools import wraps
diff --git a/django/views/static.py b/django/views/static.py
index df46c53093..b24f0e30f9 100644
--- a/django/views/static.py
+++ b/django/views/static.py
@@ -2,6 +2,7 @@
Views and functions for serving static files. These are only to be used
during development, and SHOULD NOT be used in a production setting.
"""
+
import mimetypes
import posixpath
from pathlib import Path