in opensearch_dsl/field.py [0:0]
def _deserialize(self, data):
if isinstance(data, string_types):
try:
data = parser.parse(data)
except Exception as e:
raise ValidationException(
"Could not parse date from the value (%r)" % data, e
)
if isinstance(data, datetime):
if self._default_timezone and data.tzinfo is None:
data = data.replace(tzinfo=self._default_timezone)
return data
if isinstance(data, date):
return data
if isinstance(data, integer_types):
# Divide by a float to preserve milliseconds on the datetime.
return datetime.utcfromtimestamp(data / 1000.0)
raise ValidationException("Could not parse date from the value (%r)" % data)