[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31846] trunk/blender/source/blender/ python/intern: definition/syntax edits for operators and rna ( no functional changes)

Campbell Barton ideasman42 at gmail.com
Thu Sep 9 19:36:54 CEST 2010


Revision: 31846
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31846
Author:   campbellbarton
Date:     2010-09-09 19:36:54 +0200 (Thu, 09 Sep 2010)

Log Message:
-----------
definition/syntax edits for operators and rna (no functional changes)

Modified Paths:
--------------
    trunk/blender/source/blender/python/intern/bpy_operator.c
    trunk/blender/source/blender/python/intern/bpy_rna.c

Modified: trunk/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator.c	2010-09-09 15:40:55 UTC (rev 31845)
+++ trunk/blender/source/blender/python/intern/bpy_operator.c	2010-09-09 17:36:54 UTC (rev 31846)
@@ -289,24 +289,36 @@
 	return (PyObject *)pyrna;
 }
 
-PyObject *BPY_operator_module( void )
+static struct PyMethodDef bpy_ops_methods[] = {
+	{"poll", (PyCFunction) pyop_poll, METH_VARARGS, NULL},
+	{"call", (PyCFunction) pyop_call, METH_VARARGS, NULL},
+	{"as_string", (PyCFunction) pyop_as_string, METH_VARARGS, NULL},
+	{"dir", (PyCFunction) pyop_dir, METH_NOARGS, NULL},
+	{"get_rna", (PyCFunction) pyop_getrna, METH_O, NULL},
+	{"macro_define", (PyCFunction) PYOP_wrap_macro_define, METH_VARARGS, NULL},
+	{NULL, NULL, 0, NULL}
+};
+
+static struct PyModuleDef bpy_ops_module = {
+	PyModuleDef_HEAD_INIT,
+	"_bpy.ops",
+	NULL,
+	-1,/* multiple "initialization" just copies the module dict. */
+	bpy_ops_methods,
+	NULL, NULL, NULL, NULL
+};
+
+PyObject *BPY_operator_module(void)
 {
-	static PyMethodDef pyop_poll_meth =		{"poll", (PyCFunction) pyop_poll, METH_VARARGS, NULL};
-	static PyMethodDef pyop_call_meth =		{"call", (PyCFunction) pyop_call, METH_VARARGS, NULL};
-	static PyMethodDef pyop_as_string_meth ={"as_string", (PyCFunction) pyop_as_string, METH_VARARGS, NULL};
-	static PyMethodDef pyop_dir_meth =		{"dir", (PyCFunction) pyop_dir, METH_NOARGS, NULL};
-	static PyMethodDef pyop_getrna_meth =	{"get_rna", (PyCFunction) pyop_getrna, METH_O, NULL};
-	static PyMethodDef pyop_macro_def_meth ={"macro_define", (PyCFunction) PYOP_wrap_macro_define, METH_VARARGS, NULL};
+	PyObject *submodule;
+	
+	submodule= PyModule_Create(&bpy_ops_module);
+	PyDict_SetItemString(PyImport_GetModuleDict(), bpy_ops_module.m_name, submodule);
 
-	PyObject *submodule = PyModule_New("_bpy.ops");
-	PyDict_SetItemString(PyImport_GetModuleDict(), "_bpy.ops", submodule);
+	/* INCREF since its its assumed that all these functions return the
+	 * module with a new ref like PyDict_New, since they are passed to
+	  * PyModule_AddObject which steals a ref */
+	Py_INCREF(submodule);
 
-	PyModule_AddObject( submodule, "poll",	PyCFunction_New(&pyop_poll_meth, NULL) );
-	PyModule_AddObject( submodule, "call",	PyCFunction_New(&pyop_call_meth, NULL) );
-	PyModule_AddObject( submodule, "as_string",PyCFunction_New(&pyop_as_string_meth, NULL) );
-	PyModule_AddObject( submodule, "dir",		PyCFunction_New(&pyop_dir_meth, NULL) );
-	PyModule_AddObject( submodule, "get_rna",	PyCFunction_New(&pyop_getrna_meth, NULL) );
-	PyModule_AddObject( submodule, "macro_define",PyCFunction_New(&pyop_macro_def_meth, NULL) );
-
 	return submodule;
 }

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2010-09-09 15:40:55 UTC (rev 31845)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2010-09-09 17:36:54 UTC (rev 31846)
@@ -404,8 +404,7 @@
 		return NULL;
 	}
 
-	Py_INCREF(res);
-	return res;
+	return Py_INCREF(res), res;
 }
 
 static PyObject *pyrna_prop_richcmp(PyObject *a, PyObject *b, int op)
@@ -434,8 +433,7 @@
 		return NULL;
 	}
 
-	Py_INCREF(res);
-	return res;
+	return Py_INCREF(res), res;
 }
 
 /*----------------------repr--------------------------------------------*/
@@ -2761,7 +2759,6 @@
 
 static PyObject *pyrna_prop_collection_idprop_remove(BPy_PropertyRNA *self, PyObject *value)
 {
-	PyObject *ret;
 	int key= PyLong_AsSsize_t(value);
 
 	if (key==-1 && PyErr_Occurred()) {
@@ -2774,15 +2771,11 @@
 		return NULL;
 	}
 
-	ret = Py_None;
-	Py_INCREF(ret);
-
-	return ret;
+	Py_RETURN_NONE;
 }
 
 static PyObject *pyrna_prop_collection_idprop_move(BPy_PropertyRNA *self, PyObject *args)
 {
-	PyObject *ret;
 	int key=0, pos=0;
 
 	if (!PyArg_ParseTuple(args, "ii", &key, &pos)) {
@@ -2795,10 +2788,7 @@
 		return NULL;
 	}
 
-	ret = Py_None;
-	Py_INCREF(ret);
-
-	return ret;
+	Py_RETURN_NONE;
 }
 
 static PyObject *pyrna_struct_get_id_data(BPy_DummyPointerRNA *self)
@@ -2937,8 +2927,7 @@
 			return BPy_IDGroup_WrapData(self->ptr.id.data, idprop);
 	}
 
-	Py_INCREF(def);
-	return def;
+	return Py_INCREF(def), def;
 }
 
 static char pyrna_struct_as_pointer_doc[] =
@@ -2968,9 +2957,8 @@
 	
 	if(RNA_property_collection_lookup_string(&self->ptr, self->prop, key, &newptr))
 		return pyrna_struct_CreatePyObject(&newptr);
-	
-	Py_INCREF(def);
-	return def;
+
+	return Py_INCREF(def), def;
 }
 
 static void foreach_attr_type(	BPy_PropertyRNA *self, char *attr,




More information about the Bf-blender-cvs mailing list