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. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to