]> SALOME platform Git repositories - tools/medcoupling.git/commitdiff
Salome HOME
Minor: exception propagation when scipy not available was buggy
authorabn <adrien.bruneton@cea.fr>
Fri, 14 Apr 2023 12:00:17 +0000 (14:00 +0200)
committerabn <adrien.bruneton@cea.fr>
Fri, 14 Apr 2023 12:00:17 +0000 (14:00 +0200)
src/MEDCoupling_Swig/MEDCouplingDataArrayTypemaps.i

index d0e06d9958bfc4278ace6f6abade4dd554e3a959..228c3aa9bc6ea0534c0ed8bf0b59fed6da61602e 100644 (file)
@@ -3147,8 +3147,11 @@ bool isCSRMatrix(PyObject *m)
   PyObject* pdict(PyDict_New());
   PyDict_SetItemString(pdict, "__builtins__", PyEval_GetBuiltins());
   PyObject *tmp(PyRun_String("from scipy.sparse import csr_matrix", Py_single_input, pdict, pdict));
-  if(!tmp)
-    throw INTERP_KERNEL::Exception("Problem during loading csr_matrix in scipy.sparse ! Is Scipy module available in present ?");
+  if (!tmp)
+  {
+    PyErr_Clear(); // Otherwise exception propagation will fail.
+    throw INTERP_KERNEL::Exception("Problem during loading csr_matrix in scipy.sparse! Is Scipy module available and present?");
+  }
   PyObject *csrMatrixCls=PyDict_GetItemString(pdict,"csr_matrix");
   if(!csrMatrixCls)
     throw INTERP_KERNEL::Exception("csr_matrix not found in scipy.sparse ! Is Scipy module available in present ?");