summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2017-05-08 09:42:06 -0400
committerTim Graham <timograham@gmail.com>2017-05-08 11:07:00 -0400
commitc2975910a5bc2729c2de01eb5b84777fa59551e1 (patch)
tree4f22b455f2840ed691cb06775c577f22cc1f61c6
parenta404f75f92971634c76330f3742261d33ccecca1 (diff)
Fixed #28178 -- Changed contrib.gis to raise ImproperlyConfigured if gdal isn't installed.
-rw-r--r--django/contrib/gis/gdal/libgdal.py9
-rw-r--r--docs/releases/1.11.2.txt4
2 files changed, 9 insertions, 4 deletions
diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
index ac0b9bbd44..056efaf01d 100644
--- a/django/contrib/gis/gdal/libgdal.py
+++ b/django/contrib/gis/gdal/libgdal.py
@@ -26,7 +26,7 @@ elif os.name == 'posix':
# *NIX library names.
lib_names = ['gdal', 'GDAL', 'gdal2.1.0', 'gdal2.0.0', 'gdal1.11.0', 'gdal1.10.0', 'gdal1.9.0']
else:
- raise GDALException('Unsupported OS "%s"' % os.name)
+ raise ImproperlyConfigured('GDAL is unsupported on OS "%s".' % os.name)
# Using the ctypes `find_library` utility to find the
# path to the GDAL library from the list of library names.
@@ -37,9 +37,10 @@ if lib_names:
break
if lib_path is None:
- raise GDALException(
- 'Could not find the GDAL library (tried "%s"). Try setting '
- 'GDAL_LIBRARY_PATH in your settings.' % '", "'.join(lib_names)
+ raise ImproperlyConfigured(
+ 'Could not find the GDAL library (tried "%s"). Is GDAL installed? '
+ 'If it is, try setting GDAL_LIBRARY_PATH in your settings.'
+ % '", "'.join(lib_names)
)
# This loads the GDAL/OGR C library
diff --git a/docs/releases/1.11.2.txt b/docs/releases/1.11.2.txt
index 12c03558cc..f4d1398094 100644
--- a/docs/releases/1.11.2.txt
+++ b/docs/releases/1.11.2.txt
@@ -11,3 +11,7 @@ Bugfixes
* Added detection for GDAL 2.1 and 2.0, and removed detection for unsupported
versions 1.7 and 1.8 (:ticket:`28181`).
+
+* Changed ``contrib.gis`` to raise ``ImproperlyConfigured`` rather than
+ ``GDALException`` if ``gdal`` isn't installed, to allow third-party apps to
+ catch that exception (:ticket:`28178`).