[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [38388] trunk/blender/source/blender/ python/generic: many mathutils exception types were wrong, went over all exceptions in mathutils and double checked the're correct.

Campbell Barton ideasman42 at gmail.com
Thu Jul 14 11:54:04 CEST 2011


Revision: 38388
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=38388
Author:   campbellbarton
Date:     2011-07-14 09:54:03 +0000 (Thu, 14 Jul 2011)
Log Message:
-----------
many mathutils exception types were wrong, went over all exceptions in mathutils and double checked the're correct.

Modified Paths:
--------------
    trunk/blender/source/blender/python/generic/mathutils.c
    trunk/blender/source/blender/python/generic/mathutils_Color.c
    trunk/blender/source/blender/python/generic/mathutils_Euler.c
    trunk/blender/source/blender/python/generic/mathutils_Matrix.c
    trunk/blender/source/blender/python/generic/mathutils_Quaternion.c
    trunk/blender/source/blender/python/generic/mathutils_Vector.c
    trunk/blender/source/blender/python/generic/mathutils_geometry.c

Modified: trunk/blender/source/blender/python/generic/mathutils.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils.c	2011-07-14 08:24:15 UTC (rev 38387)
+++ trunk/blender/source/blender/python/generic/mathutils.c	2011-07-14 09:54:03 UTC (rev 38388)
@@ -75,7 +75,7 @@
 	do {
 		i--;
 		if(((array[i]= PyFloat_AsDouble((item= PySequence_Fast_GET_ITEM(value_fast, i)))) == -1.0f) && PyErr_Occurred()) {
-			PyErr_Format(PyExc_ValueError,
+			PyErr_Format(PyExc_TypeError,
 			             "%.200s: sequence index %d expected a number, "
 			             "found '%.200s' type, ",
 			             error_prefix, i, Py_TYPE(item)->tp_name);

Modified: trunk/blender/source/blender/python/generic/mathutils_Color.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils_Color.c	2011-07-14 08:24:15 UTC (rev 38387)
+++ trunk/blender/source/blender/python/generic/mathutils_Color.c	2011-07-14 09:54:03 UTC (rev 38388)
@@ -259,7 +259,7 @@
 		return -1;
 
 	if(size != (end - begin)){
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "color[begin:end] = []: "
 		                "size mismatch in slice assignment");
 		return -1;
@@ -296,7 +296,7 @@
 			return Color_slice(self, start, stop);
 		}
 		else {
-			PyErr_SetString(PyExc_TypeError,
+			PyErr_SetString(PyExc_IndexError,
 			                "slice steps not supported with color");
 			return NULL;
 		}
@@ -328,7 +328,7 @@
 		if (step == 1)
 			return Color_ass_slice(self, start, stop, value);
 		else {
-			PyErr_SetString(PyExc_TypeError,
+			PyErr_SetString(PyExc_IndexError,
 			                "slice steps not supported with color");
 			return -1;
 		}
@@ -371,7 +371,7 @@
 	float col[COLOR_SIZE];
 
 	if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "Color addition: "
 		                "arguments not valid for this operation");
 		return NULL;
@@ -393,7 +393,7 @@
 	ColorObject *color1 = NULL, *color2 = NULL;
 
 	if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "Color addition: "
 		                "arguments not valid for this operation");
 		return NULL;
@@ -418,7 +418,7 @@
 	float col[COLOR_SIZE];
 
 	if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "Color subtraction: "
 		                "arguments not valid for this operation");
 		return NULL;
@@ -440,7 +440,7 @@
 	ColorObject *color1= NULL, *color2= NULL;
 
 	if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "Color subtraction: "
 		                "arguments not valid for this operation");
 		return NULL;
@@ -555,7 +555,9 @@
 		mul_vn_fl(color->col, COLOR_SIZE, scalar);
 	}
 	else {
-		PyErr_SetString(PyExc_TypeError, "Color multiplication: arguments not acceptable for this operation");
+		PyErr_SetString(PyExc_TypeError,
+		                "Color multiplication: "
+		                "arguments not acceptable for this operation");
 		return NULL;
 	}
 
@@ -846,9 +848,7 @@
 			self->wrapped = Py_NEW;
 		}
 		else {
-			PyErr_SetString(PyExc_RuntimeError,
-			                "Color(): invalid type, internal error");
-			return NULL;
+			Py_FatalError("Color(): invalid type!");
 		}
 	}
 

Modified: trunk/blender/source/blender/python/generic/mathutils_Euler.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils_Euler.c	2011-07-14 08:24:15 UTC (rev 38387)
+++ trunk/blender/source/blender/python/generic/mathutils_Euler.c	2011-07-14 09:54:03 UTC (rev 38388)
@@ -99,7 +99,7 @@
 		}
 	}
 
-	PyErr_Format(PyExc_TypeError,
+	PyErr_Format(PyExc_ValueError,
 	             "%s: invalid euler order '%s'",
 	             error_prefix, str);
 	return -1;
@@ -209,7 +209,7 @@
 		return NULL;
 	}
 	if(!(ELEM3(*axis, 'X', 'Y', 'Z') && axis[1]=='\0')){
-		PyErr_SetString(PyExc_TypeError, "euler.rotate(): "
+		PyErr_SetString(PyExc_ValueError, "euler.rotate(): "
 		                "expected axis to be 'X', 'Y' or 'Z'");
 		return NULL;
 	}
@@ -449,7 +449,7 @@
 		return -1;
 
 	if(size != (end - begin)){
-		PyErr_SetString(PyExc_TypeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "euler[begin:end] = []: "
 		                "size mismatch in slice assignment");
 		return -1;
@@ -486,7 +486,7 @@
 			return Euler_slice(self, start, stop);
 		}
 		else {
-			PyErr_SetString(PyExc_TypeError,
+			PyErr_SetString(PyExc_IndexError,
 			                "slice steps not supported with eulers");
 			return NULL;
 		}
@@ -519,7 +519,7 @@
 		if (step == 1)
 			return Euler_ass_slice(self, start, stop, value);
 		else {
-			PyErr_SetString(PyExc_TypeError,
+			PyErr_SetString(PyExc_IndexError,
 			                "slice steps not supported with euler");
 			return -1;
 		}
@@ -701,9 +701,7 @@
 			self->wrapped = Py_NEW;
 		}
 		else {
-			PyErr_SetString(PyExc_RuntimeError,
-			                "Euler(): invalid type, internal error");
-			return NULL;
+			Py_FatalError("Euler(): invalid type!");
 		}
 
 		self->order= order;

Modified: trunk/blender/source/blender/python/generic/mathutils_Matrix.c
===================================================================
--- trunk/blender/source/blender/python/generic/mathutils_Matrix.c	2011-07-14 08:24:15 UTC (rev 38387)
+++ trunk/blender/source/blender/python/generic/mathutils_Matrix.c	2011-07-14 09:54:03 UTC (rev 38388)
@@ -225,7 +225,7 @@
 	if(vec && PyUnicode_Check(vec)) {
 		axis= _PyUnicode_AsString((PyObject *)vec);
 		if(axis==NULL || axis[0]=='\0' || axis[1]!='\0' || axis[0] < 'X' || axis[0] > 'Z') {
-			PyErr_SetString(PyExc_TypeError,
+			PyErr_SetString(PyExc_ValueError,
 			                "mathutils.RotationMatrix(): "
 			                "3rd argument axis value must be a 3D vector "
 			                "or a string in 'X', 'Y', 'Z'");
@@ -240,19 +240,19 @@
 	angle= angle_wrap_rad(angle);
 
 	if(matSize != 2 && matSize != 3 && matSize != 4) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.RotationMatrix(): "
 		                "can only return a 2x2 3x3 or 4x4 matrix");
 		return NULL;
 	}
 	if(matSize == 2 && (vec != NULL)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.RotationMatrix(): "
 		                "cannot create a 2x2 rotation matrix around arbitrary axis");
 		return NULL;
 	}
 	if((matSize == 3 || matSize == 4) && (axis == NULL) && (vec == NULL)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.RotationMatrix(): "
 		                "axis of rotation for 3d and 4d matrices is required");
 		return NULL;
@@ -300,7 +300,7 @@
 	}
 	else {
 		/* should never get here */
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.RotationMatrix(): unknown error");
 		return NULL;
 	}
@@ -365,7 +365,7 @@
 		return NULL;
 	}
 	if(matSize != 2 && matSize != 3 && matSize != 4) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "Matrix.Scale(): "
 		                "can only return a 2x2 3x3 or 4x4 matrix");
 		return NULL;
@@ -451,7 +451,7 @@
 		return NULL;
 	}
 	if(matSize != 2 && matSize != 3 && matSize != 4) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.Matrix.OrthoProjection(): "
 		                "can only return a 2x2 3x3 or 4x4 matrix");
 		return NULL;
@@ -568,7 +568,7 @@
 		return NULL;
 	}
 	if(matSize != 2 && matSize != 3 && matSize != 4) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "mathutils.Matrix.Shear(): "
 		                "can only return a 2x2 3x3 or 4x4 matrix");
 		return NULL;
@@ -578,7 +578,7 @@
 		float const factor= PyFloat_AsDouble(fac);
 
 		if(factor==-1.0f && PyErr_Occurred()) {
-			PyErr_SetString(PyExc_AttributeError,
+			PyErr_SetString(PyExc_TypeError,
 			                "mathutils.Matrix.Shear(): "
 			                "the factor to be a float");
 			return NULL;
@@ -595,7 +595,7 @@
 			mat[1] = factor;
 		}
 		else {
-			PyErr_SetString(PyExc_AttributeError,
+			PyErr_SetString(PyExc_ValueError,
 			                "Matrix.Shear(): "
 			                "expected: X, Y or wrong matrix size for shearing plane");
 			return NULL;
@@ -627,7 +627,7 @@
 			mat[2] = factor[1];
 		}
 		else {
-			PyErr_SetString(PyExc_AttributeError,
+			PyErr_SetString(PyExc_ValueError,
 			                "mathutils.Matrix.Shear(): "
 			                "expected: X, Y, XY, XZ, YZ");
 			return NULL;
@@ -686,7 +686,7 @@
 
 	/*must be 3-4 cols, 3-4 rows, square matrix*/
 	if((self->col_size < 3) || (self->row_size < 3) || (self->col_size != self->row_size)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "matrix.to_quat(): "
 		                "inappropriate matrix size - expects 3x3 or 4x4 matrix");
 		return NULL;
@@ -750,7 +750,7 @@
 		mat= tmat;
 	}
 	else {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_ValueError,
 		                "matrix.to_euler(): "
 		                "inappropriate matrix size - expects 3x3 or 4x4 matrix");
 		return NULL;
@@ -879,7 +879,7 @@
 		return NULL;
 
 	if((self->col_size < 3) || (self->row_size < 3)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "matrix.to_3x3(): inappropriate matrix size");
 		return NULL;
 	}
@@ -903,7 +903,7 @@
 		return NULL;
 
 	if((self->col_size < 3) || self->row_size < 4){
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "matrix.to_translation(): "
 		                "inappropriate matrix size");
 		return NULL;
@@ -933,7 +933,7 @@
 
 	/*must be 3-4 cols, 3-4 rows, square matrix*/
 	if((self->col_size < 3) || (self->row_size < 3)) {
-		PyErr_SetString(PyExc_AttributeError,
+		PyErr_SetString(PyExc_TypeError,
 		                "matrix.to_scale(): "

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list