Salome HOME
23403: [CEA 1993] test MEDCouplingBasicsTest4.py : call with bad type argument
[tools/medcoupling.git] / src / MEDLoader / Swig / CaseReader.py
index 987869ebbd25967a1c4615d5e10eafadaedf29b7..ea266d3fc74daeaea6596c606f5c3d3cc8789a57 100644 (file)
@@ -215,6 +215,7 @@ class CaseReader(CaseIO):
             typ=fd.read(80).strip() ; pos=fd.tell()
             mcmeshes2=[]
             while pos!=end and typ!="part":
+                if typ[0]=='\0': pos+=1; continue
                 mctyp=self.dictMCTyp2[typ]
                 nbCellsOfType=np.memmap(fd,dtype='int32',mode='r',offset=int(pos),shape=(1,)).tolist()[0]
                 pos+=4
@@ -246,10 +247,11 @@ class CaseReader(CaseIO):
                     elt=fd.read(80) ; elt=elt.strip() ; typ=elt[:] ; pos+=80
                     pass
                 pass
-            coo=mcmeshes2[0].getCoords() ; name=mcmeshes2[0].getName()
-            for itmesh in mcmeshes2: itmesh.setCoords(coo)
-            m=MEDCouplingUMesh.MergeUMeshesOnSameCoords(mcmeshes2) ; m.setName(name)
-            mcmeshes.append(m)
+            if mcmeshes2:
+                coo=mcmeshes2[0].getCoords() ; name=mcmeshes2[0].getName()
+                for itmesh in mcmeshes2: itmesh.setCoords(coo)
+                m=MEDCouplingUMesh.MergeUMeshesOnSameCoords(mcmeshes2) ; m.setName(name)
+                mcmeshes.append(m)
             pass
         return mcmeshes
         
@@ -270,6 +272,8 @@ class CaseReader(CaseIO):
                 raise Exception("ConvertField : mismatch #2")
             fdisc=MEDCouplingFieldDiscretization.New(self.discSpatial2[discr])
             meshId=np.memmap(fd,dtype='int32',mode='r',offset=int(pos),shape=(1)).tolist()[0]-1
+            if meshId >= len( mcmeshes ):
+                return
             nbOfValues=fdisc.getNumberOfTuples(mcmeshes[meshId])
             vals2=DataArrayDouble(nbOfValues,nbCompo)
             fd.seek(pos+4)