From 017752b9d83dd60bd231e6f52220ffdfcabb7ae6 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 13 May 2017 16:00:32 +0200 Subject: [PATCH] improve whitespaces and reduce code duplication --- src/Base/Exception.cpp | 50 ++++++++---------------------------------- 1 file changed, 9 insertions(+), 41 deletions(-) diff --git a/src/Base/Exception.cpp b/src/Base/Exception.cpp index 2ca59f29e5..e9b8a6e005 100644 --- a/src/Base/Exception.cpp +++ b/src/Base/Exception.cpp @@ -101,14 +101,14 @@ void Exception::ReportException (void) const PyObject * Exception::getPyObject(void) const { PyObject *edict = PyDict_New(); - + PyDict_SetItemString(edict, "sclassname", PyString_FromString(typeid(*this).name())); PyDict_SetItemString(edict, "sErrMsg", PyString_FromString(this->getMessage().c_str())); PyDict_SetItemString(edict, "sfile", PyString_FromString(this->getFile().c_str())); PyDict_SetItemString(edict, "iline", PyInt_FromLong(this->getLine())); PyDict_SetItemString(edict, "sfunction", PyString_FromString(this->getFunction().c_str())); PyDict_SetItemString(edict, "swhat", PyString_FromString(this->what())); - + return edict; } @@ -118,22 +118,18 @@ void Exception::setPyObject( PyObject * pydict) PyObject *pystring; pystring = PyDict_GetItemString(pydict,"sfile"); - if(pystring!=NULL) _file = std::string(PyString_AsString(pystring)); pystring = PyDict_GetItemString(pydict,"sfunction"); - if(pystring!=NULL) _function = std::string(PyString_AsString(pystring)); - + pystring = PyDict_GetItemString(pydict,"sErrMsg"); - if(pystring!=NULL) _sErrMsg = std::string(PyString_AsString(pystring)); - + pystring = PyDict_GetItemString(pydict,"iline"); - if(pystring!=NULL) _line = PyInt_AsLong(pystring); } @@ -285,46 +281,18 @@ void FileException::ReportException (void) const PyObject * FileException::getPyObject(void) const { - PyObject *edict = PyDict_New(); - - PyDict_SetItemString(edict, "sclassname", PyString_FromString(typeid(*this).name())); - PyDict_SetItemString(edict, "sErrMsg", PyString_FromString(this->getMessage().c_str())); - PyDict_SetItemString(edict, "sfile", PyString_FromString(this->getFile().c_str())); - PyDict_SetItemString(edict, "iline", PyInt_FromLong(this->getLine())); - PyDict_SetItemString(edict, "sfunction", PyString_FromString(this->getFunction().c_str())); - PyDict_SetItemString(edict, "swhat", PyString_FromString(this->what())); + PyObject *edict = Exception::getPyObject(); PyDict_SetItemString(edict, "filename", PyString_FromString(this->file.fileName().c_str())); - + return edict; } void FileException::setPyObject( PyObject * pydict) { if(pydict!=NULL) { - PyObject *pystring; - - pystring = PyDict_GetItemString(pydict,"sfile"); - - if(pystring!=NULL) - _file = std::string(PyString_AsString(pystring)); - - pystring = PyDict_GetItemString(pydict,"sfunction"); - - if(pystring!=NULL) - _function = std::string(PyString_AsString(pystring)); - - pystring = PyDict_GetItemString(pydict,"sErrMsg"); - - if(pystring!=NULL) - _sErrMsg = std::string(PyString_AsString(pystring)); - - pystring = PyDict_GetItemString(pydict,"iline"); - - if(pystring!=NULL) - _line = PyInt_AsLong(pystring); - - pystring = PyDict_GetItemString(pydict,"filename"); - + Exception::setPyObject(pydict); + + PyObject *pystring = PyDict_GetItemString(pydict,"filename"); if(pystring!=NULL) file = FileInfo(PyString_AsString(pystring)); }