diff options
| author | Tim Graham <timograham@gmail.com> | 2013-10-18 07:25:30 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2013-11-02 15:24:56 -0400 |
| commit | 36ded01527b690b5df0574492af9cfcc2ea3d1dc (patch) | |
| tree | 107e2f542034f13810496fd389972f856efc33f3 /django | |
| parent | 9f76ea1eaad0db0183fa3b5bade16392db0cafbd (diff) | |
Fixed #21302 -- Fixed unused imports and import *.
Diffstat (limited to 'django')
58 files changed, 216 insertions, 103 deletions
diff --git a/django/contrib/admin/__init__.py b/django/contrib/admin/__init__.py index cba84cf807..d8fc12e0a5 100644 --- a/django/contrib/admin/__init__.py +++ b/django/contrib/admin/__init__.py @@ -10,6 +10,14 @@ from django.contrib.admin.filters import (ListFilter, SimpleListFilter, ChoicesFieldListFilter, DateFieldListFilter, AllValuesFieldListFilter) from django.utils.module_loading import autodiscover_modules +__all__ = [ + "register", "ACTION_CHECKBOX_NAME", "ModelAdmin", "HORIZONTAL", "VERTICAL", + "StackedInline", "TabularInline", "AdminSite", "site", "ListFilter", + "SimpleListFilter", "FieldListFilter", "BooleanFieldListFilter", + "RelatedFieldListFilter", "ChoicesFieldListFilter", "DateFieldListFilter", + "AllValuesFieldListFilter", "autodiscover", +] + def autodiscover(): autodiscover_modules('admin', register_to=site) diff --git a/django/contrib/auth/models.py b/django/contrib/auth/models.py index 75107688d7..18757f9e62 100644 --- a/django/contrib/auth/models.py +++ b/django/contrib/auth/models.py @@ -1,5 +1,4 @@ from __future__ import unicode_literals -import re from django.core.mail import send_mail from django.core import validators diff --git a/django/contrib/auth/tests/test_decorators.py b/django/contrib/auth/tests/test_decorators.py index 35a2203ba9..22ad933644 100644 --- a/django/contrib/auth/tests/test_decorators.py +++ b/django/contrib/auth/tests/test_decorators.py @@ -1,8 +1,6 @@ from django.conf import settings from django.contrib.auth import models from django.contrib.auth.decorators import login_required, permission_required -# Trigger CustomUser perm creation: -from django.contrib.auth.tests.custom_user import CustomUser from django.contrib.auth.tests.test_views import AuthViewsTestCase from django.contrib.auth.tests.utils import skipIfCustomUser from django.core.exceptions import PermissionDenied diff --git a/django/contrib/auth/tests/test_models.py b/django/contrib/auth/tests/test_models.py index 8e2deb9562..1373a3c1c1 100644 --- a/django/contrib/auth/tests/test_models.py +++ b/django/contrib/auth/tests/test_models.py @@ -1,6 +1,5 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import AbstractUser, Group, User, UserManager -from django.contrib.auth.tests.custom_user import IsActiveTestUser1 from django.contrib.auth.tests.utils import skipIfCustomUser from django.core import mail from django.db.models.signals import post_save diff --git a/django/contrib/auth/tests/test_views.py b/django/contrib/auth/tests/test_views.py index e2c0d38152..060f0086ad 100644 --- a/django/contrib/auth/tests/test_views.py +++ b/django/contrib/auth/tests/test_views.py @@ -21,7 +21,6 @@ from django.contrib.sessions.middleware import SessionMiddleware from django.contrib.auth import SESSION_KEY, REDIRECT_FIELD_NAME from django.contrib.auth.forms import (AuthenticationForm, PasswordChangeForm, SetPasswordForm) -from django.contrib.auth.tests.custom_user import CustomUser from django.contrib.auth.tests.utils import skipIfCustomUser from django.contrib.auth.views import login as login_view diff --git a/django/contrib/formtools/wizard/storage/__init__.py b/django/contrib/formtools/wizard/storage/__init__.py index 8f57605ec5..4dbc15a298 100644 --- a/django/contrib/formtools/wizard/storage/__init__.py +++ b/django/contrib/formtools/wizard/storage/__init__.py @@ -5,6 +5,10 @@ from django.contrib.formtools.wizard.storage.base import BaseStorage from django.contrib.formtools.wizard.storage.exceptions import ( MissingStorage, NoFileStorageConfigured) +__all__ = [ + "BaseStorage", "MissingStorage", "NoFileStorageConfigured", "get_storage", +] + def get_storage(path, *args, **kwargs): try: diff --git a/django/contrib/gis/admin/__init__.py b/django/contrib/gis/admin/__init__.py index 2b56276ee7..fdf7166306 100644 --- a/django/contrib/gis/admin/__init__.py +++ b/django/contrib/gis/admin/__init__.py @@ -1,12 +1,21 @@ # Getting the normal admin routines, classes, and `site` instance. -from django.contrib.admin import autodiscover, site, AdminSite, ModelAdmin, StackedInline, TabularInline, HORIZONTAL, VERTICAL - +from django.contrib.admin import ( # NOQA: flake8 detects only the last __all__ + autodiscover, site, AdminSite, ModelAdmin, StackedInline, TabularInline, + HORIZONTAL, VERTICAL, +) # Geographic admin options classes and widgets. -from django.contrib.gis.admin.options import GeoModelAdmin -from django.contrib.gis.admin.widgets import OpenLayersWidget +from django.contrib.gis.admin.options import GeoModelAdmin # NOQA +from django.contrib.gis.admin.widgets import OpenLayersWidget # NOQA + +__all__ = [ + "autodiscover", "site", "AdminSite", "ModelAdmin", "StackedInline", + "TabularInline", "HORIZONTAL", "VERTICAL", + "GeoModelAdmin", "OpenLayersWidget", "HAS_OSM", +] try: from django.contrib.gis.admin.options import OSMGeoAdmin HAS_OSM = True + __all__ += ['OSMGeoAdmin'] except ImportError: HAS_OSM = False diff --git a/django/contrib/gis/db/models/__init__.py b/django/contrib/gis/db/models/__init__.py index 19e85b1364..835e907526 100644 --- a/django/contrib/gis/db/models/__init__.py +++ b/django/contrib/gis/db/models/__init__.py @@ -1,14 +1,14 @@ # Want to get everything from the 'normal' models package. -from django.db.models import * +from django.db.models import * # NOQA # Geographic aggregate functions -from django.contrib.gis.db.models.aggregates import * +from django.contrib.gis.db.models.aggregates import * # NOQA # The GeoManager -from django.contrib.gis.db.models.manager import GeoManager +from django.contrib.gis.db.models.manager import GeoManager # NOQA # The geographic-enabled fields. -from django.contrib.gis.db.models.fields import ( +from django.contrib.gis.db.models.fields import ( # NOQA GeometryField, PointField, LineStringField, PolygonField, MultiPointField, MultiLineStringField, MultiPolygonField, GeometryCollectionField) diff --git a/django/contrib/gis/db/models/aggregates.py b/django/contrib/gis/db/models/aggregates.py index fbfabe0a1d..43e9d1a0ae 100644 --- a/django/contrib/gis/db/models/aggregates.py +++ b/django/contrib/gis/db/models/aggregates.py @@ -1,5 +1,7 @@ from django.db.models import Aggregate +__all__ = ['Collect', 'Extent', 'Extent3D', 'MakeLine', 'Union'] + class Collect(Aggregate): name = 'Collect' diff --git a/django/contrib/gis/db/models/sql/__init__.py b/django/contrib/gis/db/models/sql/__init__.py index 38d950706e..a7d15dab63 100644 --- a/django/contrib/gis/db/models/sql/__init__.py +++ b/django/contrib/gis/db/models/sql/__init__.py @@ -1,3 +1,7 @@ from django.contrib.gis.db.models.sql.conversion import AreaField, DistanceField, GeomField from django.contrib.gis.db.models.sql.query import GeoQuery from django.contrib.gis.db.models.sql.where import GeoWhereNode + +__all__ = [ + 'AreaField', 'DistanceField', 'GeomField', 'GeoQuery', 'GeoWhereNode', +] diff --git a/django/contrib/gis/db/models/sql/aggregates.py b/django/contrib/gis/db/models/sql/aggregates.py index 07c3ddd2e5..f8f3ed1eb4 100644 --- a/django/contrib/gis/db/models/sql/aggregates.py +++ b/django/contrib/gis/db/models/sql/aggregates.py @@ -1,4 +1,4 @@ -from django.db.models.sql.aggregates import * +from django.db.models.sql.aggregates import Aggregate from django.contrib.gis.db.models.fields import GeometryField diff --git a/django/contrib/gis/forms/__init__.py b/django/contrib/gis/forms/__init__.py index 93a2d3847b..b689d6076c 100644 --- a/django/contrib/gis/forms/__init__.py +++ b/django/contrib/gis/forms/__init__.py @@ -1,5 +1,5 @@ -from django.forms import * -from .fields import (GeometryField, GeometryCollectionField, PointField, +from django.forms import * # NOQA +from .fields import (GeometryField, GeometryCollectionField, PointField, # NOQA MultiPointField, LineStringField, MultiLineStringField, PolygonField, MultiPolygonField) -from .widgets import BaseGeometryWidget, OpenLayersWidget, OSMWidget +from .widgets import BaseGeometryWidget, OpenLayersWidget, OSMWidget # NOQA diff --git a/django/contrib/gis/forms/fields.py b/django/contrib/gis/forms/fields.py index 2445e54715..151f66c39c 100644 --- a/django/contrib/gis/forms/fields.py +++ b/django/contrib/gis/forms/fields.py @@ -5,7 +5,7 @@ from django.utils.translation import ugettext_lazy as _ # While this couples the geographic forms to the GEOS library, # it decouples from database (by not importing SpatialBackend). -from django.contrib.gis.geos import GEOSException, GEOSGeometry, fromstr +from django.contrib.gis.geos import GEOSException, GEOSGeometry from .widgets import OpenLayersWidget diff --git a/django/contrib/gis/gdal/__init__.py b/django/contrib/gis/gdal/__init__.py index cf3de0d3aa..659ac7f042 100644 --- a/django/contrib/gis/gdal/__init__.py +++ b/django/contrib/gis/gdal/__init__.py @@ -31,24 +31,34 @@ to a non-existant file location (e.g., `GDAL_LIBRARY_PATH='/null/path'`; setting to None/False/'' will not work as a string must be given). """ -from django.contrib.gis.gdal.error import check_err, OGRException, OGRIndexError, SRSException -from django.contrib.gis.gdal.geomtype import OGRGeomType +from django.contrib.gis.gdal.error import check_err, OGRException, OGRIndexError, SRSException # NOQA +from django.contrib.gis.gdal.geomtype import OGRGeomType # NOQA + +__all__ = [ + 'check_err', 'OGRException', 'OGRIndexError', 'SRSException', 'OGRGeomType', + 'HAS_GDAL', +] # Attempting to import objects that depend on the GDAL library. The # HAS_GDAL flag will be set to True if the library is present on # the system. try: - from django.contrib.gis.gdal.driver import Driver - from django.contrib.gis.gdal.datasource import DataSource - from django.contrib.gis.gdal.libgdal import gdal_version, gdal_full_version, GDAL_VERSION - from django.contrib.gis.gdal.srs import SpatialReference, CoordTransform - from django.contrib.gis.gdal.geometries import OGRGeometry + from django.contrib.gis.gdal.driver import Driver # NOQA + from django.contrib.gis.gdal.datasource import DataSource # NOQA + from django.contrib.gis.gdal.libgdal import gdal_version, gdal_full_version, GDAL_VERSION # NOQA + from django.contrib.gis.gdal.srs import SpatialReference, CoordTransform # NOQA + from django.contrib.gis.gdal.geometries import OGRGeometry # NOQA HAS_GDAL = True + __all__ += [ + 'Driver', 'DataSource', 'gdal_version', 'gdal_full_version', + 'GDAL_VERSION', 'SpatialReference', 'CoordTransform', 'OGRGeometry', + ] except OGRException: HAS_GDAL = False try: from django.contrib.gis.gdal.envelope import Envelope + __all__ += ['Envelope'] except ImportError: # No ctypes, but don't raise an exception. pass diff --git a/django/contrib/gis/geoip/__init__.py b/django/contrib/gis/geoip/__init__.py index edb395f508..237567dd8a 100644 --- a/django/contrib/gis/geoip/__init__.py +++ b/django/contrib/gis/geoip/__init__.py @@ -11,8 +11,11 @@ Grab GeoIP.dat.gz and GeoLiteCity.dat.gz, and unzip them in the directory corresponding to settings.GEOIP_PATH. """ +__all__ = ['HAS_GEOIP'] + try: from .base import GeoIP, GeoIPException HAS_GEOIP = True + __all__ += ['GeoIP', 'GeoIPException'] except RuntimeError: # libgeoip.py raises a RuntimeError if no GeoIP library is found HAS_GEOIP = False diff --git a/django/contrib/gis/geoip/base.py b/django/contrib/gis/geoip/base.py index 05e3b5c268..5e3b39347a 100644 --- a/django/contrib/gis/geoip/base.py +++ b/django/contrib/gis/geoip/base.py @@ -5,7 +5,7 @@ from ctypes import c_char_p from django.core.validators import ipv4_re from django.contrib.gis.geoip.libgeoip import GEOIP_SETTINGS from django.contrib.gis.geoip.prototypes import ( - GeoIPRecord, GeoIPTag, GeoIP_open, GeoIP_delete, GeoIP_database_info, + GeoIP_open, GeoIP_delete, GeoIP_database_info, GeoIP_lib_version, GeoIP_record_by_addr, GeoIP_record_by_name, GeoIP_country_code_by_addr, GeoIP_country_code_by_name, GeoIP_country_name_by_addr, GeoIP_country_name_by_name) diff --git a/django/contrib/gis/geometry/backend/geos.py b/django/contrib/gis/geometry/backend/geos.py index cdc40ed93f..b4d48dbc98 100644 --- a/django/contrib/gis/geometry/backend/geos.py +++ b/django/contrib/gis/geometry/backend/geos.py @@ -1,2 +1,4 @@ from django.contrib.gis.geos import ( GEOSGeometry as Geometry, GEOSException as GeometryException) + +__all__ = ['Geometry', 'GeometryException'] diff --git a/django/contrib/gis/geos/__init__.py b/django/contrib/gis/geos/__init__.py index 9e7c700aa0..70b73fad8b 100644 --- a/django/contrib/gis/geos/__init__.py +++ b/django/contrib/gis/geos/__init__.py @@ -3,9 +3,12 @@ The GeoDjango GEOS module. Please consult the GeoDjango documentation for more details: http://geodjango.org/docs/geos.html """ +__all__ = ['HAS_GEOS'] + try: - from .libgeos import geos_version, geos_version_info, GEOS_PREPARE + from .libgeos import geos_version, geos_version_info, GEOS_PREPARE # NOQA: flake8 detects only the last __all__ HAS_GEOS = True + __all__ += ['geos_version', 'geos_version_info', 'GEOS_PREPARE'] except ImportError: HAS_GEOS = False @@ -18,3 +21,11 @@ if HAS_GEOS: from .error import GEOSException, GEOSIndexError from .io import WKTReader, WKTWriter, WKBReader, WKBWriter from .factory import fromfile, fromstr + + __all__ += [ + 'GEOSGeometry', 'wkt_regex', 'hex_regex', 'Point', 'LineString', + 'LinearRing', 'Polygon', 'GeometryCollection', 'MultiPoint', + 'MultiLineString', 'MultiPolygon', 'GEOSException', 'GEOSIndexError', + 'WKTReader', 'WKTWriter', 'WKBReader', 'WKBWriter', 'fromfile', + 'fromstr', + ] diff --git a/django/contrib/gis/geos/io.py b/django/contrib/gis/geos/io.py index 97c4016865..f12be89830 100644 --- a/django/contrib/gis/geos/io.py +++ b/django/contrib/gis/geos/io.py @@ -6,6 +6,8 @@ reader and writer classes. from django.contrib.gis.geos.geometry import GEOSGeometry from django.contrib.gis.geos.prototypes.io import _WKTReader, _WKBReader, WKBWriter, WKTWriter +__all__ = ['WKBWriter', 'WKTWriter', 'WKBReader', 'WKTReader'] + # Public classes for (WKB|WKT)Reader, which return GEOSGeometry class WKBReader(_WKBReader): diff --git a/django/contrib/gis/geos/prototypes/__init__.py b/django/contrib/gis/geos/prototypes/__init__.py index 992a1ac514..72c9d7a0c1 100644 --- a/django/contrib/gis/geos/prototypes/__init__.py +++ b/django/contrib/gis/geos/prototypes/__init__.py @@ -5,12 +5,12 @@ """ # Coordinate sequence routines. -from django.contrib.gis.geos.prototypes.coordseq import (create_cs, get_cs, +from django.contrib.gis.geos.prototypes.coordseq import (create_cs, get_cs, # NOQA cs_clone, cs_getordinate, cs_setordinate, cs_getx, cs_gety, cs_getz, cs_setx, cs_sety, cs_setz, cs_getsize, cs_getdims) # Geometry routines. -from django.contrib.gis.geos.prototypes.geom import (from_hex, from_wkb, from_wkt, +from django.contrib.gis.geos.prototypes.geom import (from_hex, from_wkb, from_wkt, # NOQA create_point, create_linestring, create_linearring, create_polygon, create_collection, destroy_geom, get_extring, get_intring, get_nrings, get_geomn, geom_clone, geos_normalize, geos_type, geos_typeid, geos_get_srid, geos_set_srid, @@ -18,13 +18,13 @@ from django.contrib.gis.geos.prototypes.geom import (from_hex, from_wkb, from_wk to_hex, to_wkb, to_wkt) # Miscellaneous routines. -from django.contrib.gis.geos.prototypes.misc import * +from django.contrib.gis.geos.prototypes.misc import * # NOQA # Predicates -from django.contrib.gis.geos.prototypes.predicates import (geos_hasz, geos_isempty, +from django.contrib.gis.geos.prototypes.predicates import (geos_hasz, geos_isempty, # NOQA geos_isring, geos_issimple, geos_isvalid, geos_contains, geos_crosses, geos_disjoint, geos_equals, geos_equalsexact, geos_intersects, geos_overlaps, geos_relatepattern, geos_touches, geos_within) # Topology routines -from django.contrib.gis.geos.prototypes.topology import * +from django.contrib.gis.geos.prototypes.topology import * # NOQA diff --git a/django/contrib/gis/maps/google/__init__.py b/django/contrib/gis/maps/google/__init__.py index 37fdf94f1e..4f528f90c6 100644 --- a/django/contrib/gis/maps/google/__init__.py +++ b/django/contrib/gis/maps/google/__init__.py @@ -59,3 +59,8 @@ from django.contrib.gis.maps.google.gmap import GoogleMap, GoogleMapSet from django.contrib.gis.maps.google.overlays import GEvent, GIcon, GMarker, GPolygon, GPolyline from django.contrib.gis.maps.google.zoom import GoogleZoom + +__all__ = [ + 'GoogleMap', 'GoogleMapSet', 'GEvent', 'GIcon', 'GMarker', 'GPolygon', + 'GPolyline', 'GoogleZoom', +] diff --git a/django/contrib/gis/sitemaps/__init__.py b/django/contrib/gis/sitemaps/__init__.py index b2c96e4a55..4da3400a7c 100644 --- a/django/contrib/gis/sitemaps/__init__.py +++ b/django/contrib/gis/sitemaps/__init__.py @@ -1,3 +1,5 @@ # Geo-enabled Sitemap classes. from django.contrib.gis.sitemaps.georss import GeoRSSSitemap from django.contrib.gis.sitemaps.kml import KMLSitemap, KMZSitemap + +__all__ = ['GeoRSSSitemap', 'KMLSitemap', 'KMZSitemap'] diff --git a/django/contrib/gis/utils/__init__.py b/django/contrib/gis/utils/__init__.py index bdec5f0742..f6050e6b95 100644 --- a/django/contrib/gis/utils/__init__.py +++ b/django/contrib/gis/utils/__init__.py @@ -4,15 +4,15 @@ # Importing the utilities that depend on GDAL, if available. from django.contrib.gis.gdal import HAS_GDAL if HAS_GDAL: - from django.contrib.gis.utils.ogrinfo import ogrinfo, sample - from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect - from django.contrib.gis.utils.srs import add_postgis_srs, add_srs_entry + from django.contrib.gis.utils.ogrinfo import ogrinfo, sample # NOQA + from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect # NOQA + from django.contrib.gis.utils.srs import add_postgis_srs, add_srs_entry # NOQA from django.core.exceptions import ImproperlyConfigured try: # LayerMapping requires DJANGO_SETTINGS_MODULE to be set, # so this needs to be in try/except. - from django.contrib.gis.utils.layermapping import LayerMapping, LayerMapError + from django.contrib.gis.utils.layermapping import LayerMapping, LayerMapError # NOQA except ImproperlyConfigured: pass -from django.contrib.gis.utils.wkt import precision_wkt +from django.contrib.gis.utils.wkt import precision_wkt # NOQA diff --git a/django/contrib/messages/__init__.py b/django/contrib/messages/__init__.py index a835f29dc9..40ba6ea6c7 100644 --- a/django/contrib/messages/__init__.py +++ b/django/contrib/messages/__init__.py @@ -1,2 +1,2 @@ -from django.contrib.messages.api import * -from django.contrib.messages.constants import * +from django.contrib.messages.api import * # NOQA +from django.contrib.messages.constants import * # NOQA diff --git a/django/core/cache/__init__.py b/django/core/cache/__init__.py index c242671c6c..747a12a023 100644 --- a/django/core/cache/__init__.py +++ b/django/core/cache/__init__.py @@ -14,19 +14,17 @@ class. See docs/topics/cache.txt for information on the public API. """ -import importlib - from django.conf import settings from django.core import signals from django.core.cache.backends.base import ( InvalidCacheBackendError, CacheKeyWarning, BaseCache) from django.core.exceptions import ImproperlyConfigured from django.utils.module_loading import import_by_path -from django.utils.six.moves.urllib.parse import parse_qsl __all__ = [ - 'get_cache', 'cache', 'DEFAULT_CACHE_ALIAS' + 'get_cache', 'cache', 'DEFAULT_CACHE_ALIAS', 'InvalidCacheBackendError', + 'CacheKeyWarning', 'BaseCache', ] DEFAULT_CACHE_ALIAS = 'default' diff --git a/django/core/cache/backends/db.py b/django/core/cache/backends/db.py index 40d1320e37..84786f7cfc 100644 --- a/django/core/cache/backends/db.py +++ b/django/core/cache/backends/db.py @@ -1,6 +1,5 @@ "Database cache backend." import base64 -import time from datetime import datetime try: diff --git a/django/core/files/__init__.py b/django/core/files/__init__.py index 0c3ef57af8..58a6fd8f85 100644 --- a/django/core/files/__init__.py +++ b/django/core/files/__init__.py @@ -1 +1,3 @@ from django.core.files.base import File + +__all__ = ['File'] diff --git a/django/core/handlers/wsgi.py b/django/core/handlers/wsgi.py index c310f1678a..4c54b3e39d 100644 --- a/django/core/handlers/wsgi.py +++ b/django/core/handlers/wsgi.py @@ -17,7 +17,7 @@ from django.utils.encoding import force_str, force_text from django.utils import six # For backwards compatibility -- lots of code uses this in the wild! -from django.http.response import REASON_PHRASES as STATUS_CODE_TEXT +from django.http.response import REASON_PHRASES as STATUS_CODE_TEXT # NOQA logger = logging.getLogger('django.request') diff --git a/django/core/mail/__init__.py b/django/core/mail/__init__.py index 1e2b35cc2f..5a01adc4ea 100644 --- a/django/core/mail/__init__.py +++ b/django/core/mail/__init__.py @@ -17,6 +17,14 @@ from django.core.mail.message import ( DEFAULT_ATTACHMENT_MIME_TYPE, make_msgid, BadHeaderError, forbid_multi_line_headers) +__all__ = [ + 'CachedDnsName', 'DNS_NAME', 'EmailMessage', 'EmailMultiAlternatives', + 'SafeMIMEText', 'SafeMIMEMultipart', 'DEFAULT_ATTACHMENT_MIME_TYPE', + 'make_msgid', 'BadHeaderError', 'forbid_multi_line_headers', + 'get_connection', 'send_mail', 'send_mass_mail', 'mail_admins', + 'mail_managers', +] + def get_connection(backend=None, fail_silently=False, **kwds): """Load an email backend and return an instance of it. diff --git a/django/core/management/base.py b/django/core/management/base.py index 17b8ab71af..ef967d021f 100644 --- a/django/core/management/base.py +++ b/django/core/management/base.py @@ -265,7 +265,7 @@ class BaseCommand(object): self.stderr = OutputWrapper(options.get('stderr', sys.stderr), self.style.ERROR) if self.can_import_settings: - from django.conf import settings + from django.conf import settings # NOQA saved_locale = None if not self.leave_locale_alone: diff --git a/django/core/management/commands/squashmigrations.py b/django/core/management/commands/squashmigrations.py index 3282fc54ee..ce8f667ebe 100644 --- a/django/core/management/commands/squashmigrations.py +++ b/django/core/management/commands/squashmigrations.py @@ -1,16 +1,12 @@ import sys -import os from optparse import make_option from django.core.management.base import BaseCommand, CommandError -from django.core.exceptions import ImproperlyConfigured from django.utils import six from django.db import connections, DEFAULT_DB_ALIAS, migrations -from django.db.migrations.loader import MigrationLoader, AmbiguityError -from django.db.migrations.autodetector import MigrationAutodetector, InteractiveMigrationQuestioner +from django.db.migrations.loader import AmbiguityError from django.db.migrations.executor import MigrationExecutor from django.db.migrations.writer import MigrationWriter -from django.db.models.loading import cache from django.db.migrations.optimizer import MigrationOptimizer diff --git a/django/core/management/validation.py b/django/core/management/validation.py index 90a78403fb..f0d6cae039 100644 --- a/django/core/management/validation.py +++ b/django/core/management/validation.py @@ -122,7 +122,7 @@ def get_validation_errors(outfile, app=None): e.add(opts, invalid_values_msg % f.name) if isinstance(f, models.ImageField): try: - from django.utils.image import Image + from django.utils.image import Image # NOQA except ImportError: e.add(opts, '"%s": To use ImageFields, you need to install Pillow. Get it at https://pypi.python.org/pypi/Pillow.' % f.name) if isinstance(f, models.BooleanField) and getattr(f, 'null', False): diff --git a/django/core/servers/basehttp.py b/django/core/servers/basehttp.py index 010b5e07dd..0e6d0d437c 100644 --- a/django/core/servers/basehttp.py +++ b/django/core/servers/basehttp.py @@ -14,12 +14,11 @@ import socket import sys import traceback from wsgiref import simple_server -from wsgiref.util import FileWrapper # for backwards compatibility +from wsgiref.util import FileWrapper # NOQA: for backwards compatibility from django.core.management.color import color_style from django.core.wsgi import get_wsgi_application from django.utils.module_loading import import_by_path -from django.utils import six from django.utils.six.moves.urllib.parse import urljoin from django.utils.six.moves import socketserver diff --git a/django/core/servers/fastcgi.py b/django/core/servers/fastcgi.py index a612142969..c42817c393 100644 --- a/django/core/servers/fastcgi.py +++ b/django/core/servers/fastcgi.py @@ -101,7 +101,7 @@ def runfastcgi(argset=[], **kwargs): return fastcgi_help() try: - import flup + import flup # NOQA except ImportError as e: sys.stderr.write("ERROR: %s\n" % e) sys.stderr.write(" Unable to load the flup package. In order to run django\n") diff --git a/django/db/migrations/__init__.py b/django/db/migrations/__init__.py index e072786473..e006bcbabc 100644 --- a/django/db/migrations/__init__.py +++ b/django/db/migrations/__init__.py @@ -1,2 +1,2 @@ -from .migration import Migration -from .operations import * +from .migration import Migration # NOQA +from .operations import * # NOQA diff --git a/django/db/migrations/operations/__init__.py b/django/db/migrations/operations/__init__.py index de91961298..c26fd84744 100644 --- a/django/db/migrations/operations/__init__.py +++ b/django/db/migrations/operations/__init__.py @@ -1,3 +1,11 @@ -from .models import CreateModel, DeleteModel, AlterModelTable, AlterUniqueTogether, AlterIndexTogether +from .models import (CreateModel, DeleteModel, AlterModelTable, + AlterUniqueTogether, AlterIndexTogether) from .fields import AddField, RemoveField, AlterField, RenameField from .special import SeparateDatabaseAndState, RunSQL, RunPython + +__all__ = [ + 'CreateModel', 'DeleteModel', 'AlterModelTable', 'AlterUniqueTogether', + 'AlterIndexTogether', + 'AddField', 'RemoveField', 'AlterField', 'RenameField', + 'SeparateDatabaseAndState', 'RunSQL', 'RunPython', +] diff --git a/django/db/models/__init__.py b/django/db/models/__init__.py index 2ee525faf1..cf219d39aa 100644 --- a/django/db/models/__init__.py +++ b/django/db/models/__init__.py @@ -1,18 +1,23 @@ from functools import wraps -from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured -from django.db.models.loading import get_apps, get_app_path, get_app_paths, get_app, get_models, get_model, register_models, UnavailableApp -from django.db.models.query import Q, QuerySet -from django.db.models.expressions import F -from django.db.models.manager import Manager -from django.db.models.base import Model -from django.db.models.aggregates import * -from django.db.models.fields import * -from django.db.models.fields.subclassing import SubfieldBase -from django.db.models.fields.files import FileField, ImageField -from django.db.models.fields.related import ForeignKey, ForeignObject, OneToOneField, ManyToManyField, ManyToOneRel, ManyToManyRel, OneToOneRel -from django.db.models.deletion import CASCADE, PROTECT, SET, SET_NULL, SET_DEFAULT, DO_NOTHING, ProtectedError -from django.db.models import signals +from django.core.exceptions import ObjectDoesNotExist, ImproperlyConfigured # NOQA +from django.db.models.loading import ( # NOQA + get_apps, get_app_path, get_app_paths, get_app, get_models, get_model, + register_models, UnavailableApp) +from django.db.models.query import Q, QuerySet # NOQA +from django.db.models.expressions import F # NOQA +from django.db.models.manager import Manager # NOQA +from django.db.models.base import Model # NOQA +from django.db.models.aggregates import * # NOQA +from django.db.models.fields import * # NOQA +from django.db.models.fields.subclassing import SubfieldBase # NOQA +from django.db.models.fields.files import FileField, ImageField # NOQA +from django.db.models.fields.related import ( # NOQA + ForeignKey, ForeignObject, OneToOneField, ManyToManyField, + ManyToOneRel, ManyToManyRel, OneToOneRel) +from django.db.models.deletion import ( # NOQA + CASCADE, PROTECT, SET, SET_NULL, SET_DEFAULT, DO_NOTHING, ProtectedError) +from django.db.models import signals # NOQA def permalink(func): diff --git a/django/db/models/aggregates.py b/django/db/models/aggregates.py index 1db3890204..1ec11b4acb 100644 --- a/django/db/models/aggregates.py +++ b/django/db/models/aggregates.py @@ -3,6 +3,10 @@ Classes to represent the definitions of aggregate functions. """ from django.db.models.constants import LOOKUP_SEP +__all__ = [ + 'Aggregate', 'Avg', 'Count', 'Max', 'Min', 'StdDev', 'Sum', 'Variance', +] + def refs_aggregate(lookup_parts, aggregates): """ diff --git a/django/db/models/base.py b/django/db/models/base.py index fa3a1703e5..73df8633ca 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -5,7 +5,7 @@ import sys from functools import update_wrapper from django.utils.six.moves import zip -import django.db.models.manager # Imported to register signal handler. +import django.db.models.manager # NOQA: Imported to register signal handler. from django.conf import settings from django.core.exceptions import (ObjectDoesNotExist, MultipleObjectsReturned, FieldError, ValidationError, NON_FIELD_ERRORS) @@ -19,7 +19,7 @@ from django.db.models.query_utils import DeferredAttribute, deferred_class_facto from django.db.models.deletion import Collector from django.db.models.options import Options from django.db.models import signals -from django.db.models.loading import register_models, get_model, MODELS_MODULE_NAME +from django.db.models.loading import get_model, MODELS_MODULE_NAME from django.utils.translation import ugettext_lazy as _ from django.utils.functional import curry from django.utils.encoding import force_str, force_text diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 8fe1c9e4e4..022de52134 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -25,6 +25,18 @@ from django.utils.encoding import smart_text, force_text, force_bytes from django.utils.ipv6 import clean_ipv6_address from django.utils import six +# Avoid "TypeError: Item in ``from list'' not a string" -- unicode_literals +# makes these strings unicode +__all__ = [str(x) for x in ( + 'AutoField', 'BLANK_CHOICE_DASH', 'BigIntegerField', 'BinaryField', + 'BooleanField', 'CharField', 'CommaSeparatedIntegerField', 'DateField', + 'DateTimeField', 'DecimalField', 'EmailField', 'Empty', 'Field', + 'FieldDoesNotExist', 'FilePathField', 'FloatField', + 'GenericIPAddressField', 'IPAddressField', 'IntegerField', 'NOT_PROVIDED', + 'NullBooleanField', 'PositiveIntegerField', 'PositiveSmallIntegerField', + 'SlugField', 'SmallIntegerField', 'TextField', 'TimeField', 'URLField', +)] + class Empty(object): pass diff --git a/django/db/models/query.py b/django/db/models/query.py index 2b8feed8cb..ca49f67712 100644 --- a/django/db/models/query.py +++ b/django/db/models/query.py @@ -8,7 +8,7 @@ import sys from django.conf import settings from django.core import exceptions -from django.db import connections, router, transaction, DatabaseError, IntegrityError +from django.db import connections, router, transaction, IntegrityError from django.db.models.constants import LOOKUP_SEP from django.db.models.fields import AutoField, Empty from django.db.models.query_utils import (Q, select_related_descend, diff --git a/django/db/models/sql/__init__.py b/django/db/models/sql/__init__.py index 8bc60c1d10..d1898bab6e 100644 --- a/django/db/models/sql/__init__.py +++ b/django/db/models/sql/__init__.py @@ -1,6 +1,6 @@ from django.db.models.sql.datastructures import EmptyResultSet -from django.db.models.sql.subqueries import * -from django.db.models.sql.query import * +from django.db.models.sql.subqueries import * # NOQA +from django.db.models.sql.query import * # NOQA from django.db.models.sql.where import AND, OR diff --git a/django/db/utils.py b/django/db/utils.py index 5d81fee44b..43abaf9b5a 100644 --- a/django/db/utils.py +++ b/django/db/utils.py @@ -1,4 +1,3 @@ -from functools import wraps from importlib import import_module import os import pkgutil diff --git a/django/dispatch/__init__.py b/django/dispatch/__init__.py index e6cd630d0c..be3baa30e1 100644 --- a/django/dispatch/__init__.py +++ b/django/dispatch/__init__.py @@ -6,4 +6,4 @@ See license.txt for original license. Heavily modified for Django's purposes. """ -from django.dispatch.dispatcher import Signal, receiver +from django.dispatch.dispatcher import Signal, receiver # NOQA diff --git a/django/forms/__init__.py b/django/forms/__init__.py index 34896d948d..c6573388db 100644 --- a/django/forms/__init__.py +++ b/django/forms/__init__.py @@ -2,8 +2,8 @@ Django validation and HTML form handling. """ -from django.core.exceptions import ValidationError -from django.forms.fields import * -from django.forms.forms import * -from django.forms.models import * -from django.forms.widgets import * +from django.core.exceptions import ValidationError # NOQA +from django.forms.fields import * # NOQA +from django.forms.forms import * # NOQA +from django.forms.models import * # NOQA +from django.forms.widgets import * # NOQA diff --git a/django/forms/extras/__init__.py b/django/forms/extras/__init__.py index 28316f472c..1026bce5e5 100644 --- a/django/forms/extras/__init__.py +++ b/django/forms/extras/__init__.py @@ -1 +1,3 @@ -from django.forms.extras.widgets import * +from django.forms.extras.widgets import SelectDateWidget + +__all__ = ['SelectDateWidget'] diff --git a/django/forms/fields.py b/django/forms/fields.py index b5816889f9..bd62a57200 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -30,7 +30,7 @@ from django.utils.six.moves.urllib.parse import urlsplit, urlunsplit from django.utils.translation import ugettext_lazy as _, ungettext_lazy # Provide this import for backwards compatibility. -from django.core.validators import EMPTY_VALUES +from django.core.validators import EMPTY_VALUES # NOQA __all__ = ( diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 58bcabef98..a3f69d86ae 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -15,7 +15,7 @@ from django.utils.html import conditional_escape, format_html from django.utils.translation import ugettext_lazy from django.utils.encoding import force_text, python_2_unicode_compatible from django.utils.safestring import mark_safe -from django.utils import datetime_safe, formats, six +from django.utils import formats, six from django.utils.six.moves.urllib.parse import urljoin __all__ = ( diff --git a/django/http/__init__.py b/django/http/__init__.py index bd6429ffbb..dd24495c0f 100644 --- a/django/http/__init__.py +++ b/django/http/__init__.py @@ -1,10 +1,21 @@ from django.http.cookie import SimpleCookie, parse_cookie -from django.http.request import (HttpRequest, QueryDict, RawPostDataException, - UnreadablePostError, build_request_repr) +from django.http.request import (HttpRequest, QueryDict, + RawPostDataException, UnreadablePostError, build_request_repr) from django.http.response import (HttpResponse, StreamingHttpResponse, HttpResponseRedirect, HttpResponsePermanentRedirect, HttpResponseNotModified, HttpResponseBadRequest, HttpResponseForbidden, HttpResponseNotFound, HttpResponseNotAllowed, HttpResponseGone, HttpResponseServerError, Http404, BadHeaderError) -from django.http.utils import (fix_location_header, conditional_content_removal, - fix_IE_for_attach, fix_IE_for_vary) +from django.http.utils import (fix_location_header, + conditional_content_removal, fix_IE_for_attach, fix_IE_for_vary) + +__all__ = [ + 'SimpleCookie', 'parse_cookie', 'HttpRequest', 'QueryDict', + 'RawPostDataException', 'UnreadablePostError', 'build_request_repr', + 'HttpResponse', 'StreamingHttpResponse', 'HttpResponseRedirect', + 'HttpResponsePermanentRedirect', 'HttpResponseNotModified', + 'HttpResponseBadRequest', 'HttpResponseForbidden', 'HttpResponseNotFound', + 'HttpResponseNotAllowed', 'HttpResponseGone', 'HttpResponseServerError', + 'Http404', 'BadHeaderError', 'fix_location_header', + 'conditional_content_removal', 'fix_IE_for_attach', 'fix_IE_for_vary', +] diff --git a/django/middleware/doc.py b/django/middleware/doc.py index a2f00b6ded..2034880eca 100644 --- a/django/middleware/doc.py +++ b/django/middleware/doc.py @@ -3,4 +3,4 @@ import warnings warnings.warn(__doc__, DeprecationWarning, stacklevel=2) -from django.contrib.admindocs.middleware import XViewMiddleware +from django.contrib.admindocs.middleware import XViewMiddleware # NOQA diff --git a/django/template/__init__.py b/django/template/__init__.py index ca1bd49b4f..576d3bc920 100644 --- a/django/template/__init__.py +++ b/django/template/__init__.py @@ -50,7 +50,7 @@ u'<html></html>' """ # Template lexing symbols -from django.template.base import (ALLOWED_VARIABLE_CHARS, BLOCK_TAG_END, +from django.template.base import (ALLOWED_VARIABLE_CHARS, BLOCK_TAG_END, # NOQA BLOCK_TAG_START, COMMENT_TAG_END, COMMENT_TAG_START, FILTER_ARGUMENT_SEPARATOR, FILTER_SEPARATOR, SINGLE_BRACE_END, SINGLE_BRACE_START, TOKEN_BLOCK, TOKEN_COMMENT, TOKEN_TEXT, TOKEN_VAR, @@ -58,22 +58,22 @@ from django.template.base import (ALLOWED_VARIABLE_CHARS, BLOCK_TAG_END, VARIABLE_TAG_END, VARIABLE_TAG_START, filter_re, tag_re) # Exceptions -from django.template.base import (ContextPopException, InvalidTemplateLibrary, +from django.template.base import (ContextPopException, InvalidTemplateLibrary, # NOQA TemplateDoesNotExist, TemplateEncodingError, TemplateSyntaxError, VariableDoesNotExist) # Template parts -from django.template.base import (Context, FilterExpression, Lexer, Node, +from django.template.base import (Context, FilterExpression, Lexer, Node, # NOQA NodeList, Parser, RequestContext, Origin, StringOrigin, Template, TextNode, Token, TokenParser, Variable, VariableNode, constant_string, filter_raw_string) # Compiling templates -from django.template.base import (compile_string, resolve_variable, +from django.template.base import (compile_string, resolve_variable, # NOQA unescape_string_literal, generic_tag_compiler) # Library management -from django.template.base import (Library, add_to_builtins, builtins, +from django.template.base import (Library, add_to_builtins, builtins, # NOQA get_library, get_templatetags_modules, get_text_list, import_library, libraries) diff --git a/django/template/base.py b/django/template/base.py index 5cc5dd684f..2979f2a8f1 100644 --- a/django/template/base.py +++ b/django/template/base.py @@ -6,7 +6,7 @@ from importlib import import_module from inspect import getargspec, getcallargs from django.conf import settings -from django.template.context import (BaseContext, Context, RequestContext, +from django.template.context import (BaseContext, Context, RequestContext, # NOQA: imported for backwards compatability ContextPopException) from django.utils.itercompat import is_iterable from django.utils.text import (smart_split, unescape_string_literal, diff --git a/django/test/__init__.py b/django/test/__init__.py index 58d54df5e2..98ff4393a3 100644 --- a/django/test/__init__.py +++ b/django/test/__init__.py @@ -8,3 +8,9 @@ from django.test.testcases import (TestCase, TransactionTestCase, skipUnlessDBFeature ) from django.test.utils import override_settings + +__all__ = [ + 'Client', 'RequestFactory', 'TestCase', 'TransactionTestCase', + 'SimpleTestCase', 'LiveServerTestCase', 'skipIfDBFeature', + 'skipUnlessDBFeature', 'override_settings', +] diff --git a/django/test/testcases.py b/django/test/testcases.py index b2d386cc44..3fed8c6aa7 100644 --- a/django/test/testcases.py +++ b/django/test/testcases.py @@ -12,7 +12,7 @@ import socket import sys import threading import unittest -from unittest import skipIf # Imported here for backward compatibility +from unittest import skipIf # NOQA: Imported here for backward compatibility from unittest.util import safe_repr from django.conf import settings diff --git a/django/utils/autoreload.py b/django/utils/autoreload.py index 66ffd0db4d..70fe508284 100644 --- a/django/utils/autoreload.py +++ b/django/utils/autoreload.py @@ -44,7 +44,7 @@ except ImportError: # This import does nothing, but it's necessary to avoid some race conditions # in the threading module. See http://code.djangoproject.com/ticket/2330 . try: - import threading + import threading # NOQA except ImportError: pass diff --git a/django/utils/log.py b/django/utils/log.py index e7044741f0..488632882c 100644 --- a/django/utils/log.py +++ b/django/utils/log.py @@ -1,5 +1,4 @@ import logging -import traceback from django.conf import settings from django.core import mail @@ -7,8 +6,8 @@ from django.core.mail import get_connection from django.views.debug import ExceptionReporter, get_exception_reporter_filter # Imports kept for backwards-compatibility in Django 1.7. -from logging import NullHandler -from logging.config import dictConfig +from logging import NullHandler # NOQA +from logging.config import dictConfig # NOQA getLogger = logging.getLogger diff --git a/django/utils/text.py b/django/utils/text.py index 15a231de8a..8f20e8ed88 100644 --- a/django/utils/text.py +++ b/django/utils/text.py @@ -15,7 +15,7 @@ from django.utils.safestring import mark_safe if six.PY2: # Import force_unicode even though this module doesn't use it, because some # people rely on it being here. - from django.utils.encoding import force_unicode + from django.utils.encoding import force_unicode # NOQA # Capitalizes the first letter of a string. capfirst = lambda x: x and force_text(x)[0].upper() + force_text(x)[1:] diff --git a/django/views/generic/__init__.py b/django/views/generic/__init__.py index 1a98067aa6..d0dbd53256 100644 --- a/django/views/generic/__init__.py +++ b/django/views/generic/__init__.py @@ -7,6 +7,14 @@ from django.views.generic.edit import FormView, CreateView, UpdateView, DeleteVi from django.views.generic.list import ListView +__all__ = [ + 'View', 'TemplateView', 'RedirectView', 'ArchiveIndexView', + 'YearArchiveView', 'MonthArchiveView', 'WeekArchiveView', 'DayArchiveView', + 'TodayArchiveView', 'DateDetailView', 'DetailView', 'FormView', + 'CreateView', 'UpdateView', 'DeleteView', 'ListView', 'GenericViewError', +] + + class GenericViewError(Exception): """A problem in a generic view.""" pass |
