summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-05-02 21:27:11 -0400
committerTim Graham <timograham@gmail.com>2017-05-04 20:45:18 -0400
commit2dc3280254ae06ca1fe664abf55749fe12a699d4 (patch)
treed331945d510ffdaed21dc67a99967f9586ac50b2 /django
parent890537253cf235091816d27a5c2fb64943c8e34a (diff)
Fixed #28160 -- Prevented hiding GDAL exceptions when it's not installed.
Diffstat (limited to 'django')
-rw-r--r--django/contrib/gis/gdal/__init__.py41
-rw-r--r--django/contrib/gis/serializers/geojson.py5
-rw-r--r--django/contrib/gis/utils/__init__.py20
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