def test_date_valid(self): self.assertFalse(date.valid(123)) self.assertFalse(date.valid(False)) self.assertFalse(date.valid("abcde")) self.assertTrue(date.valid(datetime.datetime.utcnow())) self.assertTrue(date.valid(str(datetime.datetime.utcnow()))) self.assertTrue(date.valid("2015-01-01 12:00:01.000000Z")) self.assertTrue(date.valid("2015-01-01 12:00:01.000000+04")) self.assertTrue(date.valid("2015-01-01 12:00:01.000000+0600")) self.assertTrue(date.valid("2015-01-01 12:00:01.000000+08:30"))
def serialize(obj): doc = {} for k, v in six.iteritems(obj.__dict__): if isinstance(v, SERIALIZABLE_TYPES): doc[k] = date.format(v) if date.valid(v) else v return doc
def deserialize(obj_type, data): obj = obj_type() for k, v in six.iteritems(data): if isinstance(v, SERIALIZABLE_TYPES): v = date.parse(v) if date.valid(v) else v setattr(obj, k, v) return obj