]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
pour partage
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 22 Sep 2020 13:03:18 +0000 (15:03 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 22 Sep 2020 13:03:18 +0000 (15:03 +0200)
Efi2Xsd/MCAccasXML.py

index 9921c1d0135593d1034f8b04a4a83a31403e247e..22ea189ebe40a2d746c32732fdf5e908e1dbfcd6 100755 (executable)
@@ -28,7 +28,7 @@ class X_OBJECT:
       if self.nom == 'Consigne' : return None
       trouve = False
       
-      if debug : print ('in delObjPyxb')
+      if debug : print ('--------------- in delObjPyxb pour ' , self.nom)
       if debug : print (self.perePyxb.objPyxb.orderedContent())
       if debug : print (list(map(lambda o:o.value, self.perePyxb.objPyxb.orderedContent())))
       
@@ -110,10 +110,10 @@ class X_OBJECT:
 class X_MCSIMP(X_OBJECT):
 # -----------------------
       
-   def buildObjPyxb(self, debug=False) :
+   def buildObjPyxb(self, debug=True) :
       if not self.cata or not self.cata.modeleMetier : return
       if self.nom == 'Consigne' : return None
-      if debug : print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
+      if debug : print ('_______________ X_MCSIMP buildObjPyxb', self.nom, self,self.valeur)
       if debug and self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb')
       elif debug : print ('objPyxbDeConstruction', self.objPyxbDeConstruction)
 
@@ -125,6 +125,7 @@ class X_MCSIMP(X_OBJECT):
         if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union): 
               self.needFactory=True
               self.maClasseModeleMetierFactory=getattr(self.maClasseModeleMetier,'Factory')
+              print ('self.maClasseModeleMetierFactory', self.maClasseModeleMetierFactory)
         else : self.needFactory=False
       else :
         self.monNomClasseModeleMetier='T_'+self.nom
@@ -145,10 +146,9 @@ class X_MCSIMP(X_OBJECT):
            else                : self.objPyxb=self.maClasseModeleMetier(_validate_constraints=False)
 
 
-        # c est la que le bat blesse
         #if self.objPyxb !=None : self.objPyxb.objAccas=self
       #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
-      if debug : print ('fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur)
+      if debug : print ('__________ fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur)
 
 
    def setValeurObjPyxb(self,newVal, debug=True):
@@ -157,6 +157,7 @@ class X_MCSIMP(X_OBJECT):
        if debug : print (' self.perePyxb = ', self.perePyxb.nom)
        if inspect.isclass(newVal) and issubclass(newVal,A_ASSD)  : newVal = newVal.nom
        if debug : print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb)
+       if debug : print ('debut du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
        
        #if newVal != None : nvlObj=self.maClasseModeleMetier(newVal)
        if newVal != None : 
@@ -166,12 +167,14 @@ class X_MCSIMP(X_OBJECT):
            if self.needFactory : nvlObj =None
            else                : nvlObj=self.maClasseModeleMetier(_validate_constraints=False)
        self.val=newVal
+       if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
 
        setattr(self.perePyxb.objPyxb,self.nom,nvlObj)
        trouve=False
        indice=0
        for i in self.perePyxb.objPyxb.orderedContent(): 
-           if isinstance(i._Content__value, self.maClasseModeleMetier) : 
+           if i.elementDeclaration.id() == self.nom:
+           #if isinstance(i._Content__value, self.maClasseModeleMetier) : 
               self.perePyxb.objPyxb.orderedContent()[indice]=self.perePyxb.objPyxb.orderedContent()[-1]
               del(self.perePyxb.objPyxb.orderedContent()[-1])
               trouve=True
@@ -188,9 +191,9 @@ class X_MCSIMP(X_OBJECT):
 class X_MCCOMPO(X_OBJECT) :
 # -------------------------
 # 
-   def buildObjPyxb(self,mc_list, debug=True) :
+   def buildObjPyxb(self,mc_list, debug=False) :
       if not self.cata or not self.cata.modeleMetier : return
-      print ('X_MCCOMPO', self.nom)
+      if debug : print ('X_MCCOMPO', self.nom)
       self.listArg=[]
       self.dicoArg={}
       for objAccas in mc_list :
@@ -239,6 +242,7 @@ class X_MCCOMPO(X_OBJECT) :
                max=obj[0].definition.max 
            else : max = 1
            if  max == 1 :
+            print ('kkkkkkkkkkkkkkkkkkkkk',obj, type(obj))
             if not(issubclass(type(obj), pyxb.binding.basis.enumeration_mixin) ):
                newOrderedContent.append(self.objPyxb.orderedContent()[list(map(lambda o:id(o.value), self.objPyxb.orderedContent())).index(id(obj))] )
             else :
@@ -394,7 +398,7 @@ class X_JDC (X_MCCOMPO):
       return (self.objPyxb.toDOM().toprettyxml())
         
 
-   def analyseFromXML(self):
+   def analyseFromXML(self,debug=False):
       print ("je suis ds analyseFromXML -- > appel ds analyseXML de I_JDC.py")
       print (self.procedure)
       if self.procedure == "" : return
@@ -409,21 +413,18 @@ class X_JDC (X_MCCOMPO):
           objEtape.dictArgs['dicoPyxbDeConstruction']=objEtape.dictPyxb
           print ('dicoPyxbDeConstruction', objEtape.dictArgs['dicoPyxbDeConstruction'])
           maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
-          print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
-          print (maClasseAccas)
-          print (objEtape , type(objEtape))
-          print (objEtape.dictPyxb)
+          if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
+          if debug : print (maClasseAccas)
+          if debug : print (objEtape , type(objEtape))
+          if debug : print (objEtape.dictPyxb)
  
-          print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas))
-          print (objEtape._ExpandedName, type(objEtape._ExpandedName))
-          print ('dictArgs',objEtape.dictArgs)
-          print ('dictPyxb',objEtape.dictPyxb)
+          if debug : print (objEtape.monNomClasseAccas, type(objEtape.monNomClasseAccas))
+          if debug : print (objEtape._ExpandedName, type(objEtape._ExpandedName))
+          if debug : print ('dictArgs',objEtape.dictArgs)
+          if debug : print ('dictPyxb',objEtape.dictPyxb)
           objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
-          print (objAccasEtape)
-          print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
-          print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
-          print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
-          print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
+          if debug : print (objAccasEtape)
+          if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
       
 
    def pyxbToDict(self,objAAnalyser):