[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [10943] trunk/blender/source/blender/ python/api2_2x: Python PyMethodDef supports single argument methods (METH_O ) but was using METH_VARARGS everywhere and getting the single args from the tuple .

Campbell Barton cbarton at metavr.com
Sat Jun 16 14:24:41 CEST 2007


Revision: 10943
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10943
Author:   campbellbarton
Date:     2007-06-16 14:24:41 +0200 (Sat, 16 Jun 2007)

Log Message:
-----------
Python PyMethodDef supports single argument methods (METH_O) but was using METH_VARARGS everywhere and getting the single args from the tuple.
Use METH_O where applicable.

Modified Paths:
--------------
    trunk/blender/source/blender/python/api2_2x/Blender.c
    trunk/blender/source/blender/python/api2_2x/Camera.c
    trunk/blender/source/blender/python/api2_2x/Constraint.c
    trunk/blender/source/blender/python/api2_2x/CurNurb.c
    trunk/blender/source/blender/python/api2_2x/Draw.c
    trunk/blender/source/blender/python/api2_2x/Font.c
    trunk/blender/source/blender/python/api2_2x/Geometry.c
    trunk/blender/source/blender/python/api2_2x/Group.c
    trunk/blender/source/blender/python/api2_2x/IDProp.c
    trunk/blender/source/blender/python/api2_2x/Image.c
    trunk/blender/source/blender/python/api2_2x/Ipo.c
    trunk/blender/source/blender/python/api2_2x/Ipocurve.c
    trunk/blender/source/blender/python/api2_2x/Ipocurve.h
    trunk/blender/source/blender/python/api2_2x/Lamp.c
    trunk/blender/source/blender/python/api2_2x/Library.c
    trunk/blender/source/blender/python/api2_2x/Material.c
    trunk/blender/source/blender/python/api2_2x/Mathutils.c
    trunk/blender/source/blender/python/api2_2x/Mathutils.h
    trunk/blender/source/blender/python/api2_2x/Mesh.c
    trunk/blender/source/blender/python/api2_2x/Metaball.c
    trunk/blender/source/blender/python/api2_2x/Object.c
    trunk/blender/source/blender/python/api2_2x/Scene.c
    trunk/blender/source/blender/python/api2_2x/Text3d.c
    trunk/blender/source/blender/python/api2_2x/World.c
    trunk/blender/source/blender/python/api2_2x/bpy_data.c
    trunk/blender/source/blender/python/api2_2x/gen_utils.c
    trunk/blender/source/blender/python/api2_2x/gen_utils.h
    trunk/blender/source/blender/python/api2_2x/logic.c

Modified: trunk/blender/source/blender/python/api2_2x/Blender.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Blender.c	2007-06-16 04:20:19 UTC (rev 10942)
+++ trunk/blender/source/blender/python/api2_2x/Blender.c	2007-06-16 12:24:41 UTC (rev 10943)
@@ -99,16 +99,16 @@
 /* Python API function prototypes for the Blender module.	*/
 /**********************************************************/
 static PyObject *Blender_Set( PyObject * self, PyObject * args );
-static PyObject *Blender_Get( PyObject * self, PyObject * args );
+static PyObject *Blender_Get( PyObject * self, PyObject * value );
 static PyObject *Blender_Redraw( PyObject * self, PyObject * args );
 static PyObject *Blender_Quit( PyObject * self );
 static PyObject *Blender_Load( PyObject * self, PyObject * args );
 static PyObject *Blender_Save( PyObject * self, PyObject * args );
-static PyObject *Blender_Run( PyObject * self, PyObject * args );
-static PyObject *Blender_ShowHelp( PyObject * self, PyObject * args );
+static PyObject *Blender_Run( PyObject * self, PyObject * value );
+static PyObject *Blender_ShowHelp( PyObject * self, PyObject * script );
 static PyObject *Blender_UpdateMenus( PyObject * self);
 static PyObject *Blender_PackAll( PyObject * self);
-static PyObject *Blender_UnpackAll( PyObject * self, PyObject * args);
+static PyObject *Blender_UnpackAll( PyObject * self, PyObject * value);
 static PyObject *Blender_CountPackedFiles( PyObject * self );
 
 extern PyObject *Text3d_Init( void ); /* missing in some include */
@@ -199,16 +199,16 @@
 /*****************************************************************************/
 static struct PyMethodDef Blender_methods[] = {
 	{"Set", Blender_Set, METH_VARARGS, Blender_Set_doc},
-	{"Get", Blender_Get, METH_VARARGS, Blender_Get_doc},
+	{"Get", Blender_Get, METH_O, Blender_Get_doc},
 	{"Redraw", Blender_Redraw, METH_VARARGS, Blender_Redraw_doc},
 	{"Quit", ( PyCFunction ) Blender_Quit, METH_NOARGS, Blender_Quit_doc},
 	{"Load", Blender_Load, METH_VARARGS, Blender_Load_doc},
 	{"Save", Blender_Save, METH_VARARGS, Blender_Save_doc},
-	{"Run", Blender_Run, METH_VARARGS, Blender_Run_doc},
-	{"ShowHelp", Blender_ShowHelp, METH_VARARGS, Blender_ShowHelp_doc},
+	{"Run", Blender_Run, METH_O, Blender_Run_doc},
+	{"ShowHelp", Blender_ShowHelp, METH_O, Blender_ShowHelp_doc},
 	{"CountPackedFiles", ( PyCFunction ) Blender_CountPackedFiles, METH_NOARGS, Blender_CountPackedFiles_doc},
 	{"PackAll", ( PyCFunction ) Blender_PackAll, METH_NOARGS, Blender_PackAll_doc},
-	{"UnpackAll", Blender_UnpackAll, METH_VARARGS, Blender_UnpackAll_doc},
+	{"UnpackAll", Blender_UnpackAll, METH_O, Blender_UnpackAll_doc},
 	{"UpdateMenus", ( PyCFunction ) Blender_UpdateMenus, METH_NOARGS,
 	 Blender_UpdateMenus_doc},
 	{NULL, NULL, 0, NULL}
@@ -288,12 +288,12 @@
 /* Function:		Blender_Get	 */
 /* Python equivalent:	Blender.Get		 */
 /*****************************************************************************/
-static PyObject *Blender_Get( PyObject * self, PyObject * args )
+static PyObject *Blender_Get( PyObject * self, PyObject * value )
 {
 	PyObject *ret = NULL;
-	char *str = NULL;
+	char *str = PyString_AsString(value);
 
-	if( !PyArg_ParseTuple( args, "s", &str ) )
+	if( !str )
 		return EXPP_ReturnPyObjError (PyExc_TypeError,
 			"expected string argument");
 
@@ -712,14 +712,13 @@
 	Py_RETURN_NONE;
 }
 
-static PyObject *Blender_ShowHelp(PyObject *self, PyObject *args)
+static PyObject *Blender_ShowHelp(PyObject *self, PyObject *script)
 {
-	PyObject *script = NULL;
 	char hspath[FILE_MAXDIR + FILE_MAXFILE]; /* path to help_browser.py */
 	char *sdir = bpy_gethome(1);
 	PyObject *rkeyd = NULL, *arglist = NULL;
 
-	if (!PyArg_ParseTuple(args, "O!", &PyString_Type, &script))
+	if (!PyString_Check(script))
 		return EXPP_ReturnPyObjError(PyExc_TypeError,
 			"expected a script filename as argument");
 
@@ -759,14 +758,14 @@
 	Py_RETURN_NONE;
 }
 
-static PyObject *Blender_Run(PyObject *self, PyObject *args)
+static PyObject *Blender_Run(PyObject *self, PyObject *value)
 {
-	char *fname = NULL;
+	char *fname = PyString_AsString(value);
 	Text *text = NULL;
 	int is_blender_text = 0;
 	Script *script = NULL;
 
-	if (!PyArg_ParseTuple(args, "s", &fname))
+	if (!fname)
 		return EXPP_ReturnPyObjError(PyExc_TypeError,
 			"expected a filename or a Blender Text name as argument");
 
@@ -848,10 +847,12 @@
 /* Function:		Blender_UnpackAll		 */
 /* Python equivalent:	Blender.UnpackAll			 */
 /*****************************************************************************/
-static PyObject *Blender_UnpackAll( PyObject * self, PyObject *args)
+static PyObject *Blender_UnpackAll( PyObject * self, PyObject *value)
 {
-	int mode;
-	PyArg_ParseTuple( args, "i", &mode );
+	int mode = PyInt_AsLong(value);
+	
+	if (mode==-1)
+		return EXPP_ReturnPyObjError( PyExc_ValueError, "expected an int Blender.UnpackModes");
 	unpackAll(mode);
 	Py_RETURN_NONE;
 }

Modified: trunk/blender/source/blender/python/api2_2x/Camera.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Camera.c	2007-06-16 04:20:19 UTC (rev 10942)
+++ trunk/blender/source/blender/python/api2_2x/Camera.c	2007-06-16 12:24:41 UTC (rev 10943)
@@ -129,7 +129,7 @@
 static PyObject *Camera_oldsetClipEnd( BPy_Camera * self, PyObject * args );
 static PyObject *Camera_oldsetDrawSize( BPy_Camera * self, PyObject * args );
 static PyObject *Camera_oldsetScale( BPy_Camera * self, PyObject * args );
-static PyObject *Camera_oldgetScriptLinks( BPy_Camera * self, PyObject * args );
+static PyObject *Camera_oldgetScriptLinks( BPy_Camera * self, PyObject * value );
 static PyObject *Camera_addScriptLink( BPy_Camera * self, PyObject * args );
 static PyObject *Camera_oldclearIpo( BPy_Camera * self );
 static PyObject *Camera_clearScriptLinks( BPy_Camera * self, PyObject * args );
@@ -169,21 +169,21 @@
 	 "( Camera IPO type ) - Inserts a key into IPO"},
 	{"setName", ( PyCFunction ) GenericLib_setName_with_method, METH_VARARGS,
 	 "(s) - Set Camera Data name"},
-	{"setType", ( PyCFunction ) Camera_oldsetType, METH_VARARGS,
+	{"setType", ( PyCFunction ) Camera_oldsetType, METH_O,
 	 "(s) - Set Camera type, which can be 'persp' or 'ortho'"},
 	{"setMode", ( PyCFunction ) Camera_oldsetMode, METH_VARARGS,
 	 "(<s<,s>>) - Set Camera mode flag(s): 'showLimits' and 'showMist'"},
-	{"setLens", ( PyCFunction ) Camera_oldsetLens, METH_VARARGS,
+	{"setLens", ( PyCFunction ) Camera_oldsetLens, METH_O,
 	 "(f) - Set *perpective* Camera lens value"},
-	{"setScale", ( PyCFunction ) Camera_oldsetScale, METH_VARARGS,
+	{"setScale", ( PyCFunction ) Camera_oldsetScale, METH_O,
 	 "(f) - Set *ortho* Camera scale value"},
-	{"setClipStart", ( PyCFunction ) Camera_oldsetClipStart, METH_VARARGS,
+	{"setClipStart", ( PyCFunction ) Camera_oldsetClipStart, METH_O,
 	 "(f) - Set Camera clip start value"},
-	{"setClipEnd", ( PyCFunction ) Camera_oldsetClipEnd, METH_VARARGS,
+	{"setClipEnd", ( PyCFunction ) Camera_oldsetClipEnd, METH_O,
 	 "(f) - Set Camera clip end value"},
-	{"setDrawSize", ( PyCFunction ) Camera_oldsetDrawSize, METH_VARARGS,
+	{"setDrawSize", ( PyCFunction ) Camera_oldsetDrawSize, METH_O,
 	 "(f) - Set Camera draw size value"},
-	{"getScriptLinks", ( PyCFunction ) Camera_oldgetScriptLinks, METH_VARARGS,
+	{"getScriptLinks", ( PyCFunction ) Camera_oldgetScriptLinks, METH_O,
 	 "(eventname) - Get a list of this camera's scriptlinks (Text names) "
 	 "of the given type\n"
 	 "(eventname) - string: FrameChanged, Redraw or Render."},
@@ -462,11 +462,11 @@
 	return EXPP_incr_ret_False(); /* no ipo found */
 }
 
-static PyObject *Camera_oldsetType( BPy_Camera * self, PyObject * args )
+static PyObject *Camera_oldsetType( BPy_Camera * self, PyObject * value )
 {
-	char *type;
+	char *type = PyString_AsString(value);
 
-	if( !PyArg_ParseTuple( args, "s", &type ) )
+	if(!value)
 		return EXPP_ReturnPyObjError( PyExc_TypeError,
 					      "expected string argument" );
 
@@ -516,75 +516,75 @@
 	Py_RETURN_NONE;
 }
 
-static PyObject *Camera_oldsetLens( BPy_Camera * self, PyObject * args )
+static PyObject *Camera_oldsetLens( BPy_Camera * self, PyObject * value )
 {
-	float value;
+	float param = PyFloat_AsDouble(value);
 
-	if( !PyArg_ParseTuple( args, "f", &value ) )
+	if( !PyFloat_Check(value) )
 		return EXPP_ReturnPyObjError( PyExc_TypeError,
 					      "expected float argument" );
 
-	self->camera->lens = EXPP_ClampFloat( value,
+	self->camera->lens = EXPP_ClampFloat( param,
 					      EXPP_CAM_LENS_MIN,
 					      EXPP_CAM_LENS_MAX );
 
 	Py_RETURN_NONE;
 }
 
-static PyObject *Camera_oldsetScale( BPy_Camera * self, PyObject * args )
+static PyObject *Camera_oldsetScale( BPy_Camera * self, PyObject * value )
 {
-	float value;
+	float param = PyFloat_AsDouble(value);
 
-	if( !PyArg_ParseTuple( args, "f", &value ) )
+	if( !PyFloat_Check(value) )
 		return EXPP_ReturnPyObjError( PyExc_TypeError,
 					      "expected float argument" );
 
-	self->camera->ortho_scale = EXPP_ClampFloat( value,
+	self->camera->ortho_scale = EXPP_ClampFloat( param,
 					      EXPP_CAM_SCALE_MIN,
 					      EXPP_CAM_SCALE_MAX );
 
 	Py_RETURN_NONE;
 }
 
-static PyObject *Camera_oldsetClipStart( BPy_Camera * self, PyObject * args )
+static PyObject *Camera_oldsetClipStart( BPy_Camera * self, PyObject * value )
 {
-	float value;
+	float param = PyFloat_AsDouble(value);
 
-	if( !PyArg_ParseTuple( args, "f", &value ) )
+	if( !PyFloat_Check(value) )
 		return EXPP_ReturnPyObjError( PyExc_TypeError,
 					      "expected float argument" );
 
-	self->camera->clipsta = EXPP_ClampFloat( value,
+	self->camera->clipsta = EXPP_ClampFloat( param,
 						 EXPP_CAM_CLIPSTART_MIN,
 						 EXPP_CAM_CLIPSTART_MAX );
 
 	Py_RETURN_NONE;
 }
 
-static PyObject *Camera_oldsetClipEnd( BPy_Camera * self, PyObject * args )
+static PyObject *Camera_oldsetClipEnd( BPy_Camera * self, PyObject * value )
 {
-	float value;
+	float param = PyFloat_AsDouble(value);
 
-	if( !PyArg_ParseTuple( args, "f", &value ) )
+	if( !PyFloat_Check(value) )
 		return EXPP_ReturnPyObjError( PyExc_TypeError,
 					      "expected float argument" );
 
-	self->camera->clipend = EXPP_ClampFloat( value,
+	self->camera->clipend = EXPP_ClampFloat( param,
 						 EXPP_CAM_CLIPEND_MIN,
 						 EXPP_CAM_CLIPEND_MAX );
 
 	Py_RETURN_NONE;
 }
 
-static PyObject *Camera_oldsetDrawSize( BPy_Camera * self, PyObject * args )

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list