diff options
| author | Tim Graham <timograham@gmail.com> | 2017-05-02 21:27:11 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-05-04 20:45:18 -0400 |
| commit | 2dc3280254ae06ca1fe664abf55749fe12a699d4 (patch) | |
| tree | d331945d510ffdaed21dc67a99967f9586ac50b2 /django | |
| parent | 890537253cf235091816d27a5c2fb64943c8e34a (diff) | |
Fixed #28160 -- Prevented hiding GDAL exceptions when it's not installed.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/gis/gdal/__init__.py | 41 | ||||
| -rw-r--r-- | django/contrib/gis/serializers/geojson.py | 5 | ||||
| -rw-r--r-- | django/contrib/gis/utils/__init__.py | 20 |
3 files changed, 26 insertions, 40 deletions
diff --git a/django/contrib/gis/gdal/__init__.py b/django/contrib/gis/gdal/__init__.py index 86ce62a068..4c217dd5b3 100644 --- a/django/contrib/gis/gdal/__init__.py +++ b/django/contrib/gis/gdal/__init__.py @@ -25,32 +25,23 @@ 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 -from django.contrib.gis.gdal.error import ( # NOQA +from django.contrib.gis.gdal.error import ( GDALException, OGRException, OGRIndexError, SRSException, check_err, ) -from django.contrib.gis.gdal.geomtype import OGRGeomType # NOQA - -__all__ = [ - 'check_err', 'Envelope', 'GDALException', 'OGRException', 'OGRIndexError', - 'SRSException', 'OGRGeomType', 'HAS_GDAL', -] +from django.contrib.gis.gdal.geometries import OGRGeometry +from django.contrib.gis.gdal.geomtype import OGRGeomType +from django.contrib.gis.gdal.libgdal import ( + GDAL_VERSION, gdal_full_version, gdal_version, +) +from django.contrib.gis.gdal.raster.source import GDALRaster +from django.contrib.gis.gdal.srs import CoordTransform, SpatialReference -# 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 # 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.raster.source import GDALRaster # 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', - 'GDALRaster', 'GDAL_VERSION', 'SpatialReference', 'CoordTransform', - 'OGRGeometry', - ] -except GDALException: - HAS_GDAL = False +__all__ = ( + 'Driver', 'DataSource', 'CoordTransform', 'Envelope', 'GDALException', + 'GDALRaster', 'GDAL_VERSION', 'OGRException', 'OGRGeometry', 'OGRGeomType', + 'OGRIndexError', 'SpatialReference', 'SRSException', + 'check_err', 'gdal_version', 'gdal_full_version', +) diff --git a/django/contrib/gis/serializers/geojson.py b/django/contrib/gis/serializers/geojson.py index fe3a32871f..4a62ea4251 100644 --- a/django/contrib/gis/serializers/geojson.py +++ b/django/contrib/gis/serializers/geojson.py @@ -1,10 +1,7 @@ -from django.contrib.gis.gdal import HAS_GDAL +from django.contrib.gis.gdal import CoordTransform, SpatialReference from django.core.serializers.base import SerializerDoesNotExist from django.core.serializers.json import Serializer as JSONSerializer -if HAS_GDAL: - from django.contrib.gis.gdal import CoordTransform, SpatialReference - class Serializer(JSONSerializer): """ diff --git a/django/contrib/gis/utils/__init__.py b/django/contrib/gis/utils/__init__.py index e59277d3a7..e66d3b2bd2 100644 --- a/django/contrib/gis/utils/__init__.py +++ b/django/contrib/gis/utils/__init__.py @@ -1,16 +1,14 @@ """ This module contains useful utilities for GeoDjango. """ -from django.contrib.gis.gdal import HAS_GDAL +from django.contrib.gis.utils.ogrinfo import ogrinfo # NOQA +from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect # NOQA +from django.contrib.gis.utils.srs import add_srs_entry # NOQA from django.core.exceptions import ImproperlyConfigured -if HAS_GDAL: - from django.contrib.gis.utils.ogrinfo import ogrinfo # NOQA - from django.contrib.gis.utils.ogrinspect import mapping, ogrinspect # NOQA - from django.contrib.gis.utils.srs import add_srs_entry # NOQA - 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 # NOQA - except ImproperlyConfigured: - pass +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 # NOQA +except ImproperlyConfigured: + pass |
