Пример #1
0
 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"))
Пример #2
0
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
Пример #3
0
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