summaryrefslogtreecommitdiff
path: root/django/contrib/gis
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2014-12-17 22:00:05 +0100
committerClaude Paroz <claude@2xlibre.net>2014-12-18 11:28:17 +0100
commit9c1f501d7b392db84fe1b0f0e74947e806d7eefb (patch)
treeeb741fb47b57343479e4f5cd1ba1cd5a896ee570 /django/contrib/gis
parent4fb38b73073dcd54f4af41a2af14dbc36f5d9f33 (diff)
downloaddjango-9c1f501d7b392db84fe1b0f0e74947e806d7eefb.tar.gz
Fixed #24014 -- Unified OGRException and GDALException
Thanks Tim Graham for the review.
Diffstat (limited to 'django/contrib/gis')
-rw-r--r--django/contrib/gis/admin/widgets.py4
-rw-r--r--django/contrib/gis/forms/widgets.py2
-rw-r--r--django/contrib/gis/gdal/__init__.py9
-rw-r--r--django/contrib/gis/gdal/datasource.py10
-rw-r--r--django/contrib/gis/gdal/driver.py6
-rw-r--r--django/contrib/gis/gdal/envelope.py16
-rw-r--r--django/contrib/gis/gdal/error.py35
-rw-r--r--django/contrib/gis/gdal/feature.py4
-rw-r--r--django/contrib/gis/gdal/field.py12
-rw-r--r--django/contrib/gis/gdal/geometries.py10
-rw-r--r--django/contrib/gis/gdal/geomtype.py6
-rw-r--r--django/contrib/gis/gdal/layer.py10
-rw-r--r--django/contrib/gis/gdal/libgdal.py8
-rw-r--r--django/contrib/gis/gdal/prototypes/errcheck.py6
-rw-r--r--django/contrib/gis/gdal/tests/test_driver.py4
-rw-r--r--django/contrib/gis/gdal/tests/test_ds.py4
-rw-r--r--django/contrib/gis/gdal/tests/test_envelope.py14
-rw-r--r--django/contrib/gis/gdal/tests/test_geom.py12
-rw-r--r--django/contrib/gis/gdal/tests/test_srs.py4
-rw-r--r--django/contrib/gis/management/commands/ogrinspect.py2
-rw-r--r--django/contrib/gis/tests/inspectapp/tests.py4
-rw-r--r--django/contrib/gis/utils/layermapping.py6
22 files changed, 94 insertions, 94 deletions
diff --git a/django/contrib/gis/admin/widgets.py b/django/contrib/gis/admin/widgets.py
index 292038ff84..716327cf0a 100644
--- a/django/contrib/gis/admin/widgets.py
+++ b/django/contrib/gis/admin/widgets.py
@@ -5,7 +5,7 @@ from django.template import loader, Context
from django.utils import six
from django.utils import translation
-from django.contrib.gis.gdal import OGRException
+from django.contrib.gis.gdal import GDALException
from django.contrib.gis.geos import GEOSGeometry, GEOSException
# Creating a template context that contains Django settings
@@ -68,7 +68,7 @@ class OpenLayersWidget(Textarea):
ogr = value.ogr
ogr.transform(srid)
wkt = ogr.wkt
- except OGRException as err:
+ except GDALException as err:
logger.error(
"Error transforming geometry from srid '%s' to srid '%s' (%s)" % (
value.srid, srid, err)
diff --git a/django/contrib/gis/forms/widgets.py b/django/contrib/gis/forms/widgets.py
index 7554333cfb..26cc0565b0 100644
--- a/django/contrib/gis/forms/widgets.py
+++ b/django/contrib/gis/forms/widgets.py
@@ -60,7 +60,7 @@ class BaseGeometryWidget(Widget):
ogr = value.ogr
ogr.transform(self.map_srid)
value = ogr
- except gdal.OGRException as err:
+ except gdal.GDALException as err:
logger.error(
"Error transforming geometry from srid '%s' to srid '%s' (%s)" % (
value.srid, self.map_srid, err)
diff --git a/django/contrib/gis/gdal/__init__.py b/django/contrib/gis/gdal/__init__.py
index 02c78add01..1258dfcdae 100644
--- a/django/contrib/gis/gdal/__init__.py
+++ b/django/contrib/gis/gdal/__init__.py
@@ -31,12 +31,13 @@
to a non-existent 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 # NOQA
+from django.contrib.gis.gdal.error import (check_err, GDALException,
+ OGRException, OGRIndexError, SRSException) # NOQA
from django.contrib.gis.gdal.geomtype import OGRGeomType # NOQA
__all__ = [
- 'check_err', 'OGRException', 'OGRIndexError', 'SRSException', 'OGRGeomType',
- 'HAS_GDAL',
+ 'check_err', 'GDALException', 'OGRException', 'OGRIndexError',
+ 'SRSException', 'OGRGeomType', 'HAS_GDAL',
]
# Attempting to import objects that depend on the GDAL library. The
@@ -53,7 +54,7 @@ try:
'Driver', 'DataSource', 'gdal_version', 'gdal_full_version',
'GDAL_VERSION', 'SpatialReference', 'CoordTransform', 'OGRGeometry',
]
-except OGRException:
+except GDALException:
HAS_GDAL = False
try:
diff --git a/django/contrib/gis/gdal/datasource.py b/django/contrib/gis/gdal/datasource.py
index bff8ffaa75..ec9ab8c2a4 100644
--- a/django/contrib/gis/gdal/datasource.py
+++ b/django/contrib/gis/gdal/datasource.py
@@ -39,7 +39,7 @@ from ctypes import byref
# The GDAL C library, OGR exceptions, and the Layer object.
from django.contrib.gis.gdal.base import GDALBase
from django.contrib.gis.gdal.driver import Driver
-from django.contrib.gis.gdal.error import OGRException, OGRIndexError
+from django.contrib.gis.gdal.error import GDALException, OGRIndexError
from django.contrib.gis.gdal.layer import Layer
# Getting the ctypes prototypes for the DataSource.
@@ -75,21 +75,21 @@ class DataSource(GDALBase):
try:
# OGROpen will auto-detect the data source type.
ds = capi.open_ds(force_bytes(ds_input), self._write, byref(ds_driver))
- except OGRException:
+ except GDALException:
# Making the error message more clear rather than something
# like "Invalid pointer returned from OGROpen".
- raise OGRException('Could not open the datasource at "%s"' % ds_input)
+ raise GDALException('Could not open the datasource at "%s"' % ds_input)
elif isinstance(ds_input, self.ptr_type) and isinstance(ds_driver, Driver.ptr_type):
ds = ds_input
else:
- raise OGRException('Invalid data source input type: %s' % type(ds_input))
+ raise GDALException('Invalid data source input type: %s' % type(ds_input))
if ds:
self.ptr = ds
self.driver = Driver(ds_driver)
else:
# Raise an exception if the returned pointer is NULL
- raise OGRException('Invalid data source file "%s"' % ds_input)
+ raise GDALException('Invalid data source file "%s"' % ds_input)
def __del__(self):
"Destroys this DataStructure object."
diff --git a/django/contrib/gis/gdal/driver.py b/django/contrib/gis/gdal/driver.py
index 1d2796480d..7628e360b9 100644
--- a/django/contrib/gis/gdal/driver.py
+++ b/django/contrib/gis/gdal/driver.py
@@ -1,6 +1,6 @@
from ctypes import c_void_p
from django.contrib.gis.gdal.base import GDALBase
-from django.contrib.gis.gdal.error import OGRException
+from django.contrib.gis.gdal.error import GDALException
from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
from django.utils import six
@@ -61,11 +61,11 @@ class Driver(GDALBase):
elif isinstance(dr_input, c_void_p):
driver = dr_input
else:
- raise OGRException('Unrecognized input type for GDAL/OGR Driver: %s' % str(type(dr_input)))
+ raise GDALException('Unrecognized input type for GDAL/OGR Driver: %s' % str(type(dr_input)))
# Making sure we get a valid pointer to the OGR Driver
if not driver:
- raise OGRException('Could not initialize GDAL/OGR Driver on input: %s' % str(dr_input))
+ raise GDALException('Could not initialize GDAL/OGR Driver on input: %s' % str(dr_input))
self.ptr = driver
def __str__(self):
diff --git a/django/contrib/gis/gdal/envelope.py b/django/contrib/gis/gdal/envelope.py
index 30da4a7c82..59d48b7bff 100644
--- a/django/contrib/gis/gdal/envelope.py
+++ b/django/contrib/gis/gdal/envelope.py
@@ -11,7 +11,7 @@
Lower left (min_x, min_y) o----------+
"""
from ctypes import Structure, c_double
-from django.contrib.gis.gdal.error import OGRException
+from django.contrib.gis.gdal.error import GDALException
# The OGR definition of an Envelope is a C structure containing four doubles.
@@ -46,7 +46,7 @@ class Envelope(object):
elif isinstance(args[0], (tuple, list)):
# A tuple was passed in.
if len(args[0]) != 4:
- raise OGRException('Incorrect number of tuple elements (%d).' % len(args[0]))
+ raise GDALException('Incorrect number of tuple elements (%d).' % len(args[0]))
else:
self._from_sequence(args[0])
else:
@@ -56,13 +56,13 @@ class Envelope(object):
# Thanks to ww for the help
self._from_sequence([float(a) for a in args])
else:
- raise OGRException('Incorrect number (%d) of arguments.' % len(args))
+ raise GDALException('Incorrect number (%d) of arguments.' % len(args))
# Checking the x,y coordinates
if self.min_x > self.max_x:
- raise OGRException('Envelope minimum X > maximum X.')
+ raise GDALException('Envelope minimum X > maximum X.')
if self.min_y > self.max_y:
- raise OGRException('Envelope minimum Y > maximum Y.')
+ raise GDALException('Envelope minimum Y > maximum Y.')
def __eq__(self, other):
"""
@@ -76,7 +76,7 @@ class Envelope(object):
return (self.min_x == other[0]) and (self.min_y == other[1]) and \
(self.max_x == other[2]) and (self.max_y == other[3])
else:
- raise OGRException('Equivalence testing only works with other Envelopes.')
+ raise GDALException('Equivalence testing only works with other Envelopes.')
def __str__(self):
"Returns a string representation of the tuple."
@@ -120,7 +120,7 @@ class Envelope(object):
if maxy > self._envelope.MaxY:
self._envelope.MaxY = maxy
else:
- raise OGRException('Incorrect number of tuple elements (%d).' % len(args[0]))
+ raise GDALException('Incorrect number of tuple elements (%d).' % len(args[0]))
else:
raise TypeError('Incorrect type of argument: %s' % str(type(args[0])))
elif len(args) == 2:
@@ -130,7 +130,7 @@ class Envelope(object):
# Individual parameters passed in.
return self.expand_to_include(args)
else:
- raise OGRException('Incorrect number (%d) of arguments.' % len(args[0]))
+ raise GDALException('Incorrect number (%d) of arguments.' % len(args[0]))
@property
def min_x(self):
diff --git a/django/contrib/gis/gdal/error.py b/django/contrib/gis/gdal/error.py
index 57c946943b..e7269beca1 100644
--- a/django/contrib/gis/gdal/error.py
+++ b/django/contrib/gis/gdal/error.py
@@ -1,24 +1,24 @@
"""
- This module houses the OGR & SRS Exception objects, and the
+ This module houses the GDAL & SRS Exception objects, and the
check_err() routine which checks the status code returned by
- OGR methods.
+ GDAL/OGR methods.
"""
-#### OGR & SRS Exceptions ####
+#### GDAL & SRS Exceptions ####
class GDALException(Exception):
pass
-class OGRException(Exception):
- pass
+# Legacy name
+OGRException = GDALException
class SRSException(Exception):
pass
-class OGRIndexError(OGRException, KeyError):
+class OGRIndexError(GDALException, KeyError):
"""
This exception is raised when an invalid index is encountered, and has
the 'silent_variable_feature' attribute set to true. This ensures that
@@ -27,20 +27,19 @@ class OGRIndexError(OGRException, KeyError):
"""
silent_variable_failure = True
-#### OGR error checking codes and routine ####
+#### GDAL/OGR error checking codes and routine ####
# OGR Error Codes
OGRERR_DICT = {
- 1: (OGRException, 'Not enough data.'),
- 2: (OGRException, 'Not enough memory.'),
- 3: (OGRException, 'Unsupported geometry type.'),
- 4: (OGRException, 'Unsupported operation.'),
- 5: (OGRException, 'Corrupt data.'),
- 6: (OGRException, 'OGR failure.'),
+ 1: (GDALException, 'Not enough data.'),
+ 2: (GDALException, 'Not enough memory.'),
+ 3: (GDALException, 'Unsupported geometry type.'),
+ 4: (GDALException, 'Unsupported operation.'),
+ 5: (GDALException, 'Corrupt data.'),
+ 6: (GDALException, 'OGR failure.'),
7: (SRSException, 'Unsupported SRS.'),
- 8: (OGRException, 'Invalid handle.'),
+ 8: (GDALException, 'Invalid handle.'),
}
-OGRERR_NONE = 0
# CPL Error Codes
# http://www.gdal.org/cpl__error_8h.html
@@ -56,17 +55,17 @@ CPLERR_DICT = {
9: (GDALException, 'UserInterrupt'),
10: (GDALException, 'ObjectNull'),
}
-CPLERR_NONE = 0
+
+ERR_NONE = 0
def check_err(code, cpl=False):
"""
Checks the given CPL/OGRERR, and raises an exception where appropriate.
"""
- err_none = CPLERR_NONE if cpl else OGRERR_NONE
err_dict = CPLERR_DICT if cpl else OGRERR_DICT
- if code == err_none:
+ if code == ERR_NONE:
return
elif code in err_dict:
e, msg = err_dict[code]
diff --git a/django/contrib/gis/gdal/feature.py b/django/contrib/gis/gdal/feature.py
index afed7aefff..da86c70244 100644
--- a/django/contrib/gis/gdal/feature.py
+++ b/django/contrib/gis/gdal/feature.py
@@ -1,6 +1,6 @@
# The GDAL C library, OGR exception, and the Field object
from django.contrib.gis.gdal.base import GDALBase
-from django.contrib.gis.gdal.error import OGRException, OGRIndexError
+from django.contrib.gis.gdal.error import GDALException, OGRIndexError
from django.contrib.gis.gdal.field import Field
from django.contrib.gis.gdal.geometries import OGRGeometry, OGRGeomType
@@ -28,7 +28,7 @@ class Feature(GDALBase):
Initializes Feature from a pointer and its Layer object.
"""
if not feat:
- raise OGRException('Cannot create OGR Feature, invalid pointer given.')
+ raise GDALException('Cannot create OGR Feature, invalid pointer given.')
self.ptr = feat
self._layer = layer
diff --git a/django/contrib/gis/gdal/field.py b/django/contrib/gis/gdal/field.py
index f9bc1f7a55..487c29ea42 100644
--- a/django/contrib/gis/gdal/field.py
+++ b/django/contrib/gis/gdal/field.py
@@ -1,7 +1,7 @@
from ctypes import byref, c_int
from datetime import date, datetime, time
from django.contrib.gis.gdal.base import GDALBase
-from django.contrib.gis.gdal.error import OGRException
+from django.contrib.gis.gdal.error import GDALException
from django.contrib.gis.gdal.prototypes import ds as capi
from django.utils.encoding import force_text
@@ -29,7 +29,7 @@ class Field(GDALBase):
# Getting the pointer for this field.
fld_ptr = capi.get_feat_field_defn(feat.ptr, index)
if not fld_ptr:
- raise OGRException('Cannot create OGR Field, invalid pointer given.')
+ raise GDALException('Cannot create OGR Field, invalid pointer given.')
self.ptr = fld_ptr
# Setting the class depending upon the OGR Field Type (OFT)
@@ -67,7 +67,7 @@ class Field(GDALBase):
if status:
return (yy, mm, dd, hh, mn, ss, tz)
else:
- raise OGRException('Unable to retrieve date & time information from the field.')
+ raise GDALException('Unable to retrieve date & time information from the field.')
#### Field Properties ####
@property
@@ -155,7 +155,7 @@ class OFTDate(Field):
try:
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
return date(yy.value, mm.value, dd.value)
- except (ValueError, OGRException):
+ except (ValueError, GDALException):
return None
@@ -170,7 +170,7 @@ class OFTDateTime(Field):
try:
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
return datetime(yy.value, mm.value, dd.value, hh.value, mn.value, ss.value)
- except (ValueError, OGRException):
+ except (ValueError, GDALException):
return None
@@ -181,7 +181,7 @@ class OFTTime(Field):
try:
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
return time(hh.value, mn.value, ss.value)
- except (ValueError, OGRException):
+ except (ValueError, GDALException):
return None
diff --git a/django/contrib/gis/gdal/geometries.py b/django/contrib/gis/gdal/geometries.py
index 918f4e68a2..d00aa1a785 100644
--- a/django/contrib/gis/gdal/geometries.py
+++ b/django/contrib/gis/gdal/geometries.py
@@ -46,7 +46,7 @@ from ctypes import byref, string_at, c_char_p, c_double, c_ubyte, c_void_p
# Getting GDAL prerequisites
from django.contrib.gis.gdal.base import GDALBase
from django.contrib.gis.gdal.envelope import Envelope, OGREnvelope
-from django.contrib.gis.gdal.error import OGRException, OGRIndexError, SRSException
+from django.contrib.gis.gdal.error import GDALException, OGRIndexError, SRSException
from django.contrib.gis.gdal.geomtype import OGRGeomType
from django.contrib.gis.gdal.srs import SpatialReference, CoordTransform
@@ -110,12 +110,12 @@ class OGRGeometry(GDALBase):
# OGR pointer (c_void_p) was the input.
g = geom_input
else:
- raise OGRException('Invalid input type for OGR Geometry construction: %s' % type(geom_input))
+ raise GDALException('Invalid input type for OGR Geometry construction: %s' % type(geom_input))
# Now checking the Geometry pointer before finishing initialization
# by setting the pointer for the object.
if not g:
- raise OGRException('Cannot create OGR Geometry from input: %s' % str(geom_input))
+ raise GDALException('Cannot create OGR Geometry from input: %s' % str(geom_input))
self.ptr = g
# Assigning the SpatialReference object to the geometry, if valid.
@@ -143,7 +143,7 @@ class OGRGeometry(GDALBase):
wkb, srs = state
ptr = capi.from_wkb(wkb, None, byref(c_void_p()), len(wkb))
if not ptr:
- raise OGRException('Invalid OGRGeometry loaded from pickled state.')
+ raise GDALException('Invalid OGRGeometry loaded from pickled state.')
self.ptr = ptr
self.srs = srs
@@ -666,7 +666,7 @@ class GeometryCollection(OGRGeometry):
tmp = OGRGeometry(geom)
capi.add_geom(self.ptr, tmp.ptr)
else:
- raise OGRException('Must add an OGRGeometry.')
+ raise GDALException('Must add an OGRGeometry.')
@property
def point_count(self):
diff --git a/django/contrib/gis/gdal/geomtype.py b/django/contrib/gis/gdal/geomtype.py
index dc1f0480a3..9a06bad789 100644
--- a/django/contrib/gis/gdal/geomtype.py
+++ b/django/contrib/gis/gdal/geomtype.py
@@ -1,4 +1,4 @@
-from django.contrib.gis.gdal.error import OGRException
+from django.contrib.gis.gdal.error import GDALException
from django.utils import six
@@ -40,10 +40,10 @@ class OGRGeomType(object):
type_input = 'unknown'
num = self._str_types.get(type_input, None)
if num is None:
- raise OGRException('Invalid OGR String Type "%s"' % type_input)
+ raise GDALException('Invalid OGR String Type "%s"' % type_input)
elif isinstance(type_input, int):
if type_input not in self._types:
- raise OGRException('Invalid OGR Integer Type: %d' % type_input)
+ raise GDALException('Invalid OGR Integer Type: %d' % type_input)
num = type_input
else:
raise TypeError('Invalid OGR input type given.')
diff --git a/django/contrib/gis/gdal/layer.py b/django/contrib/gis/gdal/layer.py
index 600a335bfe..e2627a2da9 100644
--- a/django/contrib/gis/gdal/layer.py
+++ b/django/contrib/gis/gdal/layer.py
@@ -4,7 +4,7 @@ from ctypes import c_double, byref
# Other GDAL imports.
from django.contrib.gis.gdal.base import GDALBase
from django.contrib.gis.gdal.envelope import Envelope, OGREnvelope
-from django.contrib.gis.gdal.error import OGRException, OGRIndexError, SRSException
+from django.contrib.gis.gdal.error import GDALException, OGRIndexError, SRSException
from django.contrib.gis.gdal.feature import Feature
from django.contrib.gis.gdal.field import OGRFieldTypes
from django.contrib.gis.gdal.geomtype import OGRGeomType
@@ -35,7 +35,7 @@ class Layer(GDALBase):
collection of the `DataSource` while this Layer is still active.
"""
if not layer_ptr:
- raise OGRException('Cannot create Layer, invalid pointer given')
+ raise GDALException('Cannot create Layer, invalid pointer given')
self.ptr = layer_ptr
self._ds = ds
self._ldefn = capi.get_layer_defn(self._ptr)
@@ -84,7 +84,7 @@ class Layer(GDALBase):
# If the Layer supports random reading, return.
try:
return Feature(capi.get_feature(self.ptr, feat_id), self)
- except OGRException:
+ except GDALException:
pass
else:
# Random access isn't supported, have to increment through
@@ -169,7 +169,7 @@ class Layer(GDALBase):
def _get_spatial_filter(self):
try:
return OGRGeometry(geom_api.clone_geom(capi.get_spatial_filter(self.ptr)))
- except OGRException:
+ except GDALException:
return None
def _set_spatial_filter(self, filter):
@@ -196,7 +196,7 @@ class Layer(GDALBase):
in the Layer.
"""
if field_name not in self.fields:
- raise OGRException('invalid field name: %s' % field_name)
+ raise GDALException('invalid field name: %s' % field_name)
return [feat.get(field_name) for feat in self]
def get_geoms(self, geos=False):
diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
index 65e58a3a33..280ae2ef5b 100644
--- a/django/contrib/gis/gdal/libgdal.py
+++ b/django/contrib/gis/gdal/libgdal.py
@@ -6,7 +6,7 @@ import re
from ctypes import c_char_p, c_int, CDLL, CFUNCTYPE
from ctypes.util import find_library
-from django.contrib.gis.gdal.error import OGRException
+from django.contrib.gis.gdal.error import GDALException
from django.core.exceptions import ImproperlyConfigured
logger = logging.getLogger('django.contrib.gis')
@@ -29,7 +29,7 @@ elif os.name == 'posix':
lib_names = ['gdal', 'GDAL', 'gdal1.11.0', 'gdal1.10.0', 'gdal1.9.0',
'gdal1.8.0', 'gdal1.7.0']
else:
- raise OGRException('Unsupported OS "%s"' % os.name)
+ raise GDALException('Unsupported OS "%s"' % os.name)
# Using the ctypes `find_library` utility to find the
# path to the GDAL library from the list of library names.
@@ -40,7 +40,7 @@ if lib_names:
break
if lib_path is None:
- raise OGRException('Could not find the GDAL library (tried "%s"). '
+ raise GDALException('Could not find the GDAL library (tried "%s"). '
'Try setting GDAL_LIBRARY_PATH in your settings.' %
'", "'.join(lib_names))
@@ -90,7 +90,7 @@ def gdal_version_info():
ver = gdal_version().decode()
m = version_regex.match(ver)
if not m:
- raise OGRException('Could not parse GDAL version string "%s"' % ver)
+ raise GDALException('Could not parse GDAL version string "%s"' % ver)
return {key: m.group(key) for key in ('major', 'minor', 'subminor')}
_verinfo = gdal_version_info()
diff --git a/django/contrib/gis/gdal/prototypes/errcheck.py b/django/contrib/gis/gdal/prototypes/errcheck.py
index caed26686f..d6c5ad17eb 100644
--- a/django/contrib/gis/gdal/prototypes/errcheck.py
+++ b/django/contrib/gis/gdal/prototypes/errcheck.py
@@ -4,7 +4,7 @@
"""
from ctypes import c_void_p, string_at
-from django.contrib.gis.gdal.error import check_err, OGRException, SRSException
+from django.contrib.gis.gdal.error import check_err, GDALException, SRSException
from django.contrib.gis.gdal.libgdal import lgdal
from django.utils import six
@@ -80,7 +80,7 @@ def check_geom(result, func, cargs):
if isinstance(result, six.integer_types):
result = c_void_p(result)
if not result:
- raise OGRException('Invalid geometry pointer returned from "%s".' % func.__name__)
+ raise GDALException('Invalid geometry pointer returned from "%s".' % func.__name__)
return result
@@ -124,7 +124,7 @@ def check_pointer(result, func, cargs):
if result:
return result
else:
- raise OGRException('Invalid pointer returned from "%s"' % func.__name__)
+ raise GDALException('Invalid pointer returned from "%s"' % func.__name__)
def check_str_arg(result, func, cargs):
diff --git a/django/contrib/gis/gdal/tests/test_driver.py b/django/contrib/gis/gdal/tests/test_driver.py
index 5b33168412..265bb7a32a 100644
--- a/django/contrib/gis/gdal/tests/test_driver.py
+++ b/django/contrib/gis/gdal/tests/test_driver.py
@@ -3,7 +3,7 @@ import unittest
from django.contrib.gis.gdal import HAS_GDAL
if HAS_GDAL:
- from django.contrib.gis.gdal import Driver, OGRException
+ from django.contrib.gis.gdal import Driver, GDALException
valid_drivers = (
@@ -40,7 +40,7 @@ class DriverTest(unittest.TestCase):
def test02_invalid_driver(self):
"Testing invalid GDAL/OGR Data Source Drivers."
for i in invalid_drivers:
- self.assertRaises(OGRException, Driver, i)
+ self.assertRaises(GDALException, Driver, i)
def test03_aliases(self):
"Testing driver aliases."
diff --git a/django/contrib/gis/gdal/tests/test_ds.py b/django/contrib/gis/gdal/tests/test_ds.py
index 4f2316d0bf..04b1c0f982 100644
--- a/django/contrib/gis/gdal/tests/test_ds.py
+++ b/django/contrib/gis/gdal/tests/test_ds.py
@@ -6,7 +6,7 @@ from django.contrib.gis.gdal import HAS_GDAL
from django.contrib.gis.geometry.test_data import get_ds_file, TestDS, TEST_DATA
if HAS_GDAL:
- from django.contrib.gis.gdal import DataSource, Envelope, OGRGeometry, OGRException, OGRIndexError, GDAL_VERSION
+ from django.contrib.gis.gdal import DataSource, Envelope, OGRGeometry, GDALException, OGRIndexError, GDAL_VERSION
from django.contrib.gis.gdal.field import OFTReal, OFTInteger, OFTString
# List of acceptable data sources.
@@ -85,7 +85,7 @@ class DataSourceTest(unittest.TestCase):
def test02_invalid_shp(self):
"Testing invalid SHP files for the Data Source."
for source in bad_ds:
- self.assertRaises(OGRException, DataSource, source.ds)
+ self.assertRaises(GDALException, DataSource, source.ds)
def test03a_layers(self):
"Testing Data Source Layers."
diff --git a/django/contrib/gis/gdal/tests/test_envelope.py b/django/contrib/gis/gdal/tests/test_envelope.py
index c79a8e54da..cf0eea4b1a 100644
--- a/django/contrib/gis/gdal/tests/test_envelope.py
+++ b/django/contrib/gis/gdal/tests/test_envelope.py
@@ -4,7 +4,7 @@ from unittest import skipUnless
from django.contrib.gis.gdal import HAS_GDAL
if HAS_GDAL:
- from django.contrib.gis.gdal import Envelope, OGRException
+ from django.contrib.gis.gdal import Envelope, GDALException
class TestPoint(object):
@@ -25,16 +25,16 @@ class EnvelopeTest(unittest.TestCase):
Envelope(0, 0, 5, 5)
Envelope(0, '0', '5', 5) # Thanks to ww for this
Envelope(e1._envelope)
- self.assertRaises(OGRException, Envelope, (5, 5, 0, 0))
- self.assertRaises(OGRException, Envelope, 5, 5, 0, 0)
- self.assertRaises(OGRException, Envelope, (0, 0, 5, 5, 3))
- self.assertRaises(OGRException, Envelope, ())
+ self.assertRaises(GDALException, Envelope, (5, 5, 0, 0))
+ self.assertRaises(GDALException, Envelope, 5, 5, 0, 0)
+ self.assertRaises(GDALException, Envelope, (0, 0, 5, 5, 3))
+ self.assertRaises(GDALException, Envelope, ())
self.assertRaises(ValueError, Envelope, 0, 'a', 5, 5)
self.assertRaises(TypeError, Envelope, 'foo')
- self.assertRaises(OGRException, Envelope, (1, 1, 0, 0))
+ self.assertRaises(GDALException, Envelope, (1, 1, 0, 0))
try:
Envelope(0, 0, 0, 0)
- except OGRException:
+ except GDALException:
self.fail("shouldn't raise an exception for min_x == max_x or min_y == max_y")
def test02_properties(self):
diff --git a/django/contrib/gis/gdal/tests/test_geom.py b/django/contrib/gis/gdal/tests/test_geom.py
index 08ff509dfd..4f422c06f6 100644
--- a/django/contrib/gis/gdal/tests/test_geom.py
+++ b/django/contrib/gis/gdal/tests/test_geom.py
@@ -13,7 +13,7 @@ from django.utils.six.moves import range
if HAS_GDAL:
from django.contrib.gis.gdal import (OGRGeometry, OGRGeomType,
- OGRException, OGRIndexError, SpatialReference, CoordTransform,
+ GDALException, OGRIndexError, SpatialReference, CoordTransform,
GDAL_VERSION)
@@ -33,9 +33,9 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin):
OGRGeomType('Unknown')
# Should throw TypeError on this input
- self.assertRaises(OGRException, OGRGeomType, 23)
- self.assertRaises(OGRException, OGRGeomType, 'fooD')
- self.assertRaises(OGRException, OGRGeomType, 9)
+ self.assertRaises(GDALException, OGRGeomType, 23)
+ self.assertRaises(GDALException, OGRGeomType, 'fooD')
+ self.assertRaises(GDALException, OGRGeomType, 9)
# Equivalence can take strings, ints, and other OGRGeomTypes
self.assertEqual(OGRGeomType(1), OGRGeomType(1))
@@ -243,7 +243,7 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin):
# Both rings in this geometry are not closed.
poly = OGRGeometry('POLYGON((0 0, 5 0, 5 5, 0 5), (1 1, 2 1, 2 2, 2 1))')
self.assertEqual(8, poly.point_count)
- with self.assertRaises(OGRException):
+ with self.assertRaises(GDALException):
poly.centroid
poly.close_rings()
@@ -407,7 +407,7 @@ class OGRGeomTest(unittest.TestCase, TestDataMixin):
# Can't insert a Point into a MultiPolygon.
mp = OGRGeometry('MultiPolygon')
pnt = OGRGeometry('POINT(5 23)')
- self.assertRaises(OGRException, mp.add, pnt)
+ self.assertRaises(GDALException, mp.add, pnt)
# GeometryCollection.add may take an OGRGeometry (if another collection
# of the same type all child geoms will be added individually) or WKT.
diff --git a/django/contrib/gis/gdal/tests/test_srs.py b/django/contrib/gis/gdal/tests/test_srs.py
index cfdb47db38..1d011d88ab 100644
--- a/django/contrib/gis/gdal/tests/test_srs.py
+++ b/django/contrib/gis/gdal/tests/test_srs.py
@@ -4,7 +4,7 @@ from unittest import skipUnless
from django.contrib.gis.gdal import HAS_GDAL
if HAS_GDAL:
- from django.contrib.gis.gdal import SpatialReference, CoordTransform, OGRException, SRSException
+ from django.contrib.gis.gdal import SpatialReference, CoordTransform, GDALException, SRSException
class TestSRS:
@@ -160,7 +160,7 @@ class SpatialRefTest(unittest.TestCase):
try:
srs = SpatialReference(bad)
srs.validate()
- except (SRSException, OGRException):
+ except (SRSException, GDALException):
pass
else:
self.fail('Should not have initialized on bad WKT "%s"!')
diff --git a/django/contrib/gis/management/commands/ogrinspect.py b/django/contrib/gis/management/commands/ogrinspect.py
index 2e53eda6ad..1194cf6cfb 100644
--- a/django/contrib/gis/management/commands/ogrinspect.py
+++ b/django/contrib/gis/management/commands/ogrinspect.py
@@ -83,7 +83,7 @@ class Command(BaseCommand):
# Getting the OGR DataSource from the string parameter.
try:
ds = gdal.DataSource(data_source)
- except gdal.OGRException as msg:
+ except gdal.GDALException as msg:
raise CommandError(msg)
# Returning the output of ogrinspect with the given arguments
diff --git a/django/contrib/gis/tests/inspectapp/tests.py b/django/contrib/gis/tests/inspectapp/tests.py
index cf64cee071..82b2cfefd6 100644
--- a/django/contrib/gis/tests/inspectapp/tests.py
+++ b/django/contrib/gis/tests/inspectapp/tests.py
@@ -12,7 +12,7 @@ from django.contrib.gis.geometry.test_data import TEST_DATA
from django.utils.six import StringIO
if HAS_GDAL:
- from django.contrib.gis.gdal import Driver, OGRException
+ from django.contrib.gis.gdal import Driver, GDALException
from django.contrib.gis.utils.ogrinspect import ogrinspect
from .models import AllOGRFields
@@ -94,7 +94,7 @@ class OGRInspectTest(TestCase):
model_def = ogrinspect(ogr_db, 'Measurement',
layer_key=AllOGRFields._meta.db_table,
decimal=['f_decimal'])
- except OGRException:
+ except GDALException:
self.skipTest("Unable to setup an OGR connection to your database")
self.assertTrue(model_def.startswith(
diff --git a/django/contrib/gis/utils/layermapping.py b/django/contrib/gis/utils/layermapping.py
index 5031aadab8..aef5a6e4ec 100644
--- a/django/contrib/gis/utils/layermapping.py
+++ b/django/contrib/gis/utils/layermapping.py
@@ -12,7 +12,7 @@ from django.core.exceptions import ObjectDoesNotExist
from django.db import connections, router
from django.contrib.gis.db.models import GeometryField
from django.contrib.gis.gdal import (CoordTransform, DataSource,
- OGRException, OGRGeometry, OGRGeomType, SpatialReference)
+ GDALException, OGRGeometry, OGRGeomType, SpatialReference)
from django.contrib.gis.gdal.field import (
OFTDate, OFTDateTime, OFTInteger, OFTReal, OFTString, OFTTime)
from django.db import models, transaction
@@ -207,7 +207,7 @@ class LayerMapping(object):
gtype = OGRGeomType(ogr_name + '25D')
else:
gtype = OGRGeomType(ogr_name)
- except OGRException:
+ except GDALException:
raise LayerMapError('Invalid mapping for GeometryField "%s".' % field_name)
# Making sure that the OGR Layer's Geometry is compatible.
@@ -304,7 +304,7 @@ class LayerMapping(object):
# Verify OGR geometry.
try:
val = self.verify_geom(feat.geom, model_field)
- except OGRException:
+ except GDALException:
raise LayerMapError('Could not retrieve geometry from feature.')
elif isinstance(model_field, models.base.ModelBase):
# The related _model_, not a field was passed in -- indicating