def deserialize(self, data, kls=None): """From dictionary to object Changes""" kls = kls or Changes #NOTE: ID always is CellName, and values are text tuples, if not, we cant deserialize ret = kls() ret.deleted = self.dict_values_deserializer.deserialize(data[Changes.SERIAL_DELETED_KEY]) renames_deserializer = DictDeserializer(self.keys_deserializer, self.keys_deserializer) ret.renames = renames_deserializer.deserialize(data[Changes.SERIAL_RENAMES_KEY]) ret.created = self.dict_values_deserializer.deserialize(data[Changes.SERIAL_CREATED_KEY]) #ret.modified = self.values_deserializer.deserialize(data[Changes.SERIAL_MODIFIED_KEY]) mod_deserial = DictDeserializer(self.keys_deserializer, ModificationDeserializer(self.values_deserializer)) ret.modified = mod_deserial.deserialize(data[Changes.SERIAL_MODIFIED_KEY]) ret.sim_limit = data[Changes.SERIAL_SIMLIMIT_KEY] return ret
def test_deserialize_none(self): dd = DictDeserializer(str, str) self.assertIsNone(dd.deserialize(None))
def deserialize(data): deserializer = DictDeserializer(str, str) return UserSettings(deserializer.deserialize(data))