def updateEvent(self, event, data): if Utils.getType(data) == 'builtins': if Utils.getType(event) == 'builtins': event = data else: #Es una asignacion incorrecta ya que intentamos meter un builtin en un objeto, no tocamos el evento pass return event else: if Utils.getType(event) == 'builtins': event = data return event elif Utils.getType(event) == 'dict': for key, value in data.items(): if key in event: event[key] = self.updateEvent(event[key], value) else: event[key] = None event[key] = self.updateEvent(event[key], value) return event elif Utils.getType(event) == 'custom': for key, value in data.items(): if hasattr(event, key): attr = getattr(event, key) attr_value = self.updateEvent(attr, value) setattr(event, key, attr_value) else: #Es una asignacion incorrecta ya que intentamos meter un valor en un atributo inexistente en el objeto, no tocamos el evento pass return event else: return event
def to_internal_value(self, data): data_type=Utils.getType(data) if (data_type=='builtins'): return data elif (data_type=='custom'): return self.getValueObject(data) else: output={} for item in data: obj=data[item] output[item]=self.getValueObject(obj) return output