PyObject *internalnode = create_pynode_here(node); PyObject *pynode = get_nodeinstance_from_dict(scriptdict); PyObject *result = NULL; result = PyEval_CallObject(pynode, internalnode); /* internal node is for reference */ if(result==NULL) { /* boohoo */ } else { /* yay */ }