if(use_id_prop) { /* look up property name in current struct */
IDProperty *group= RNA_struct_idproperties(ptr, 0);
- if(!group)
- return 0;
-
- if(rna_token_strip_quotes(token))
+ if(group && rna_token_strip_quotes(token))
prop= (PropertyRNA *)IDP_GetPropertyFromGroup(group, token+1);
- else
- prop= NULL;
}
else {
prop= RNA_struct_find_property(&curptr, token);
MEM_freeN(pkey);
return 0;
} else {
- PyErr_SetString( PyExc_RuntimeError, "property not found in group" );
+ PyErr_SetString( PyExc_KeyError, "property not found in group" );
return -1;
}
}
err = BPy_IDProperty_Map_ValidateAndCreate(_PyUnicode_AsString(key), prop, val);
if (err) {
- PyErr_SetString( PyExc_RuntimeError, err );
+ PyErr_SetString( PyExc_KeyError, err );
return -1;
}
group= RNA_struct_idproperties(&self->ptr, 0);
if(group==NULL) {
- PyErr_Format( PyExc_TypeError, "key \"%s\" not found", name);
+ PyErr_Format( PyExc_KeyError, "key \"%s\" not found", name);
return NULL;
}
idprop= IDP_GetPropertyFromGroup(group, name);
if(idprop==NULL) {
- PyErr_Format( PyExc_TypeError, "key \"%s\" not found", name);
+ PyErr_Format( PyExc_KeyError, "key \"%s\" not found", name);
return NULL;
}