Return None for null date/time fields in OGR-supported data sources. Thanks to Ariel Mauricio Nunez Gomez for bug report and initial patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9711 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
bde7e79fb3
commit
300752bd6c
|
@ -127,34 +127,34 @@ class OFTDate(Field):
|
||||||
@property
|
@property
|
||||||
def value(self):
|
def value(self):
|
||||||
"Returns a Python `date` object for the OFTDate field."
|
"Returns a Python `date` object for the OFTDate field."
|
||||||
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
|
|
||||||
try:
|
try:
|
||||||
|
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
|
||||||
return date(yy.value, mm.value, dd.value)
|
return date(yy.value, mm.value, dd.value)
|
||||||
except ValueError:
|
except (ValueError, OGRException):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
class OFTDateTime(Field):
|
class OFTDateTime(Field):
|
||||||
@property
|
@property
|
||||||
def value(self):
|
def value(self):
|
||||||
"Returns a Python `datetime` object for this OFTDateTime field."
|
"Returns a Python `datetime` object for this OFTDateTime field."
|
||||||
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
|
|
||||||
# TODO: Adapt timezone information.
|
# TODO: Adapt timezone information.
|
||||||
# See http://lists.maptools.org/pipermail/gdal-dev/2006-February/007990.html
|
# See http://lists.maptools.org/pipermail/gdal-dev/2006-February/007990.html
|
||||||
# The `tz` variable has values of: 0=unknown, 1=localtime (ambiguous),
|
# The `tz` variable has values of: 0=unknown, 1=localtime (ambiguous),
|
||||||
# 100=GMT, 104=GMT+1, 80=GMT-5, etc.
|
# 100=GMT, 104=GMT+1, 80=GMT-5, etc.
|
||||||
try:
|
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)
|
return datetime(yy.value, mm.value, dd.value, hh.value, mn.value, ss.value)
|
||||||
except ValueError:
|
except (ValueError, OGRException):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
class OFTTime(Field):
|
class OFTTime(Field):
|
||||||
@property
|
@property
|
||||||
def value(self):
|
def value(self):
|
||||||
"Returns a Python `time` object for this OFTTime field."
|
"Returns a Python `time` object for this OFTTime field."
|
||||||
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
|
|
||||||
try:
|
try:
|
||||||
|
yy, mm, dd, hh, mn, ss, tz = self.as_datetime()
|
||||||
return time(hh.value, mn.value, ss.value)
|
return time(hh.value, mn.value, ss.value)
|
||||||
except ValueError:
|
except (ValueError, OGRException):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# List fields are also just subclasses
|
# List fields are also just subclasses
|
||||||
|
|
Loading…
Reference in New Issue