diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2009-03-30 01:50:10 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2009-03-30 01:50:10 +0400 |
commit | a377b74638245f8eb1a956c9840e16a448de553e (patch) | |
tree | f9d9197211b89561069bf887de764468924ab9e7 /source/blender/freestyle/intern/python/Iterator | |
parent | fbd92e985ed5bf19a92839b4b3fec9a93ce6519f (diff) |
Improvements on error handling in the Python API.
Diffstat (limited to 'source/blender/freestyle/intern/python/Iterator')
7 files changed, 16 insertions, 17 deletions
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp index 9b92ac4a3a0..872db712e91 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_AdjacencyIterator.cpp @@ -130,6 +130,7 @@ int AdjacencyIterator___init__(BPy_AdjacencyIterator *self, PyObject *args ) self->a_it = new AdjacencyIterator( ((BPy_ViewVertex *) obj1)->vv, restrictToSelection, restrictToUnvisited ); } else { + PyErr_SetString(PyExc_TypeError, "invalid argument(s)"); return -1; } diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_ChainingIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_ChainingIterator.cpp index 05822f4c6fe..efa9503de75 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_ChainingIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_ChainingIterator.cpp @@ -153,10 +153,8 @@ PyObject *ChainingIterator_init( BPy_ChainingIterator *self ) { PyObject *ChainingIterator_traverse( BPy_ChainingIterator *self, PyObject *args ) { PyObject *py_a_it; - if(!( PyArg_ParseTuple(args, "O", &py_a_it) && BPy_AdjacencyIterator_Check(py_a_it) )) { - cout << "ERROR: ChainingIterator_traverse" << endl; - Py_RETURN_NONE; - } + if(!( PyArg_ParseTuple(args, "O!", &AdjacencyIterator_Type, &py_a_it) )) + return NULL; if( ((BPy_AdjacencyIterator *) py_a_it)->a_it ) self->c_it->traverse(*( ((BPy_AdjacencyIterator *) py_a_it)->a_it )); diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp index 1b3a37b5518..5c35aa612a6 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp @@ -118,7 +118,7 @@ int Interface0DIterator___init__(BPy_Interface0DIterator *self, PyObject *args ) { PyObject *obj = 0; - if (!( PyArg_ParseTuple(args, "O", &obj) && BPy_Interface0DIterator_Check(obj) )) + if (!( PyArg_ParseTuple(args, "O!", &Interface0DIterator_Type, &obj) )) return -1; self->if0D_it = new Interface0DIterator(*( ((BPy_Interface0DIterator *) obj)->if0D_it )); diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_SVertexIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_SVertexIterator.cpp index e7f0be48d96..f7cca5941b4 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_SVertexIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_SVertexIterator.cpp @@ -143,6 +143,7 @@ int SVertexIterator___init__(BPy_SVertexIterator *self, PyObject *args ) f ); } else { + PyErr_SetString(PyExc_TypeError, "invalid argument(s)"); return -1; } diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp index 14356970c93..6492d9a1603 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_StrokeVertexIterator.cpp @@ -132,6 +132,7 @@ int StrokeVertexIterator___init__(BPy_StrokeVertexIterator *self, PyObject *args self->sv_it = new StrokeInternal::StrokeVertexIterator(*( ((BPy_StrokeVertexIterator *) obj)->sv_it )); } else { + PyErr_SetString(PyExc_TypeError, "invalid argument"); return -1; } diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_ViewEdgeIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_ViewEdgeIterator.cpp index 16e2750f4a7..9b913510e4d 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_ViewEdgeIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_ViewEdgeIterator.cpp @@ -158,10 +158,8 @@ PyObject *ViewEdgeIterator_getCurrentEdge( BPy_ViewEdgeIterator *self ) { PyObject *ViewEdgeIterator_setCurrentEdge( BPy_ViewEdgeIterator *self, PyObject *args ) { PyObject *py_ve; - if(!( PyArg_ParseTuple(args, "O", &py_ve) && BPy_ViewEdge_Check(py_ve) )) { - cout << "ERROR: ViewEdgeIterator_setCurrentEdge" << endl; - Py_RETURN_NONE; - } + if(!( PyArg_ParseTuple(args, "O!", &ViewEdge_Type, &py_ve) )) + return NULL; self->ve_it->setCurrentEdge( ((BPy_ViewEdge *) py_ve)->ve ); @@ -179,10 +177,8 @@ PyObject *ViewEdgeIterator_getBegin( BPy_ViewEdgeIterator *self ) { PyObject *ViewEdgeIterator_setBegin( BPy_ViewEdgeIterator *self, PyObject *args ) { PyObject *py_ve; - if(!( PyArg_ParseTuple(args, "O", &py_ve) && BPy_ViewEdge_Check(py_ve) )) { - cout << "ERROR: ViewEdgeIterator_setBegin" << endl; - Py_RETURN_NONE; - } + if(!( PyArg_ParseTuple(args, "O!", &ViewEdge_Type, &py_ve) )) + return NULL; self->ve_it->setBegin( ((BPy_ViewEdge *) py_ve)->ve ); @@ -196,10 +192,8 @@ PyObject *ViewEdgeIterator_getOrientation( BPy_ViewEdgeIterator *self ) { PyObject *ViewEdgeIterator_setOrientation( BPy_ViewEdgeIterator *self, PyObject *args ) { PyObject *py_b; - if(!( PyArg_ParseTuple(args, "O", &py_b) && PyBool_Check(py_b) )) { - cout << "ERROR: ViewEdgeIterator_setOrientation" << endl; - Py_RETURN_NONE; - } + if(!( PyArg_ParseTuple(args, "O!", &PyBool_Type, &py_b) )) + return NULL; self->ve_it->setOrientation( bool_from_PyBool(py_b) ); diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp index 0937e04e3a7..45f6cadeb81 100644 --- a/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp +++ b/source/blender/freestyle/intern/python/Iterator/BPy_orientedViewEdgeIterator.cpp @@ -118,6 +118,10 @@ int orientedViewEdgeIterator___init__(BPy_orientedViewEdgeIterator *self, PyObje self->ove_it = new ViewVertexInternal::orientedViewEdgeIterator(); else if( BPy_orientedViewEdgeIterator_Check(obj) ) self->ove_it = new ViewVertexInternal::orientedViewEdgeIterator(*( ((BPy_orientedViewEdgeIterator *) obj)->ove_it )); + else { + PyErr_SetString(PyExc_TypeError, "invalid argument"); + return -1; + } self->py_it.it = self->ove_it; |