def native_col_type(col_type, value): if col_type == "datetime": try: value = Deserializer.deserialize_iso(value) except Exception: # pylint: disable=broad-except # if there is any exception in deserializing the iso, # return the value to the user pass elif col_type in ("timespan", "guid"): value = str(value) return value
def test_deserialize_datetime(self): a = Deserializer.deserialize_iso('9999-12-31T23:59:59+23:59') utc = a.utctimetuple() self.assertEqual(utc.tm_year, 9999) self.assertEqual(utc.tm_mon, 12) self.assertEqual(utc.tm_mday, 31) self.assertEqual(utc.tm_hour, 0) self.assertEqual(utc.tm_min, 0) self.assertEqual(utc.tm_sec, 59) self.assertEqual(a.microsecond, 0) with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('9999-12-31T23:59:59-23:59') a = Deserializer.deserialize_iso('1999-12-31T23:59:59-23:59') utc = a.utctimetuple() self.assertEqual(utc.tm_year, 2000) self.assertEqual(utc.tm_mon, 1) self.assertEqual(utc.tm_mday, 1) self.assertEqual(utc.tm_hour, 23) self.assertEqual(utc.tm_min, 58) self.assertEqual(utc.tm_sec, 59) self.assertEqual(a.microsecond, 0) a = Deserializer.deserialize_iso('0001-01-01T23:59:00+23:59') utc = a.utctimetuple() self.assertEqual(utc.tm_year, 1) self.assertEqual(utc.tm_mon, 1) self.assertEqual(utc.tm_mday, 1) self.assertEqual(utc.tm_hour, 0) self.assertEqual(utc.tm_min, 0) self.assertEqual(utc.tm_sec, 0) self.assertEqual(a.microsecond, 0) #with self.assertRaises(DeserializationError): # a = Deserializer.deserialize_iso('1996-01-01T23:01:54-22:66') #TODO with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('1996-01-01T23:01:54-24:30') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('1996-01-01T23:01:78+00:30') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('1996-01-01T23:60:01+00:30') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('1996-01-01T24:01:01+00:30') #with self.assertRaises(DeserializationError): # a = Deserializer.deserialize_iso('1996-01-01t01:01:01/00:30') #TODO with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('1996-01-01F01:01:01+00:30') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('2015-02-32') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('2015-22-01') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('2010-13-31') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('99999-12-31') with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso(True) with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso(2010) with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso(None) with self.assertRaises(DeserializationError): a = Deserializer.deserialize_iso('Happy New Year 2016')
def _get_tag_value_from_event(self, event): event_time = Deserializer.deserialize_iso(self.event_time_path.search(event)) return event_time.strftime(self.format)
def native_col_type(col_type, value): if col_type == 'datetime': value = Deserializer.deserialize_iso(value) elif col_type in ('timespan', 'guid'): value = str(value) return value
def native_col_type(col_type, value): if col_type == "datetime": value = Deserializer.deserialize_iso(value) elif col_type in ("timespan", "guid"): value = str(value) return value