def set_state_data(cls, entity, data):
        """
        Sets the state data for the given entity to the given data.

        This also works for unmanaged entities.
        """
        attr_names = get_domain_class_attribute_names(type(entity))
        nested_items = []
        for attr, new_attr_value in iteritems_(data):
            if not attr.entity_attr in attr_names:
                raise ValueError('Can not set attribute "%s" for entity '
                                 '"%s".' % (attr.entity_attr, entity))
            if '.' in attr.entity_attr:
                nested_items.append((attr, new_attr_value))
                continue
            else:
                setattr(entity, attr.entity_attr, new_attr_value)
        for attr, new_attr_value in nested_items:
            try:
                set_nested_attribute(entity, attr.entity_attr, new_attr_value)
            except AttributeError as exc:
                if not new_attr_value is None:
                    raise exc
def set_state_data ( cls , entity , data ) : attr_names = get_domain_class_attribute_names ( type ( entity ) ) nested_items = [ ] for attr , new_attr_value in iteritems_ ( data ) : if not attr . entity_attr in attr_names : raise ValueError ( 'Can not set attribute "%s" for entity ' '"%s".' % ( attr . entity_attr , entity ) ) if '.' in attr . entity_attr : nested_items . append ( ( attr , new_attr_value ) ) continue else : setattr ( entity , attr . entity_attr , new_attr_value ) for attr , new_attr_value in nested_items : try : set_nested_attribute ( entity , attr . entity_attr , new_attr_value ) except AttributeError as exc : if not new_attr_value is None : raise exc
Sets the state data for the given entity to the given data.

        This also works for unmanaged entities.