mirror of
https://github.com/django/django.git
synced 2025-10-27 23:56:08 +00:00
Merged the gis branch into trunk.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8219 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
41
django/contrib/gis/gdal/error.py
Normal file
41
django/contrib/gis/gdal/error.py
Normal file
@@ -0,0 +1,41 @@
|
||||
"""
|
||||
This module houses the OGR & SRS Exception objects, and the
|
||||
check_err() routine which checks the status code returned by
|
||||
OGR methods.
|
||||
"""
|
||||
#### OGR & SRS Exceptions ####
|
||||
class OGRException(Exception): pass
|
||||
class SRSException(Exception): pass
|
||||
class OGRIndexError(OGRException, KeyError):
|
||||
"""
|
||||
This exception is raised when an invalid index is encountered, and has
|
||||
the 'silent_variable_feature' attribute set to true. This ensures that
|
||||
django's templates proceed to use the next lookup type gracefully when
|
||||
an Exception is raised. Fixes ticket #4740.
|
||||
"""
|
||||
silent_variable_failure = True
|
||||
|
||||
#### 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.'),
|
||||
7 : (SRSException, 'Unsupported SRS.'),
|
||||
8 : (OGRException, 'Invalid handle.'),
|
||||
}
|
||||
OGRERR_NONE = 0
|
||||
|
||||
def check_err(code):
|
||||
"Checks the given OGRERR, and raises an exception where appropriate."
|
||||
|
||||
if code == OGRERR_NONE:
|
||||
return
|
||||
elif code in OGRERR_DICT:
|
||||
e, msg = OGRERR_DICT[code]
|
||||
raise e, msg
|
||||
else:
|
||||
raise OGRException('Unknown error code: "%s"' % code)
|
||||
Reference in New Issue
Block a user