]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
juste pour montrer a Eric
authorpascale.noyret <pascale.noyret@edf.fr>
Wed, 14 Oct 2020 13:04:23 +0000 (15:04 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Wed, 14 Oct 2020 13:04:23 +0000 (15:04 +0200)
Efi2Xsd/MCAccasXML.py

index b7b896b9630a2997c53ecd74139a36c9d51bb443..82ce57218d3d017dce511bcfff2d1cec980349a5 100755 (executable)
@@ -113,7 +113,7 @@ class X_MCSIMP(X_OBJECT):
    def buildObjPyxb(self, debug=True) :
       if not self.cata or not self.cata.modeleMetier : return
       if self.nom == 'Consigne' : return None
-      #print (self.definition.nomComplet())
+      if debug : print (self.definition.nomComplet())
       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)
@@ -155,15 +155,22 @@ class X_MCSIMP(X_OBJECT):
 
 
         #if self.objPyxb !=None : self.objPyxb.objAccas=self
+      if isinstance(self.valeur,A_ASSD.ASSD)  : 
+         setattr(self.valeur,'typeUtilisateur','toto')
+         print (dir(self.definition))
+         print (dir(self.valeur))
       if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
       if debug : print ('__________ fin X_MCSIMP', self.objPyxb, self.nom, self, self.maClasseModeleMetier,self.valeur)
 
 
-   def setValeurObjPyxb(self,newVal, debug=False):
+   def setValeurObjPyxb(self,newVal, debug=True):
        if not self.cata or not self.cata.modeleMetier : return
        if debug : print (' ___________________________ dans setValeurObjPyxb MCSIMP ', self.nom, newVal)
        if debug : print (' self.perePyxb = ', self.perePyxb.nom)
-       if inspect.isclass(newVal) and issubclass(newVal,A_ASSD)  : newVal = newVal.nom
+       isUserASSD = False
+       if inspect.isclass(newVal) and issubclass(newVal,A_ASSD)  : 
+          isUserASSD = True
+          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())
        
@@ -177,6 +184,8 @@ class X_MCSIMP(X_OBJECT):
        self.val=newVal
        if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
 
+       if inspect.isclass(newVal) and issubclass(newVal,A_ASSD)  : 
+          newVal = newVal.nom
        setattr(self.perePyxb.objPyxb,self.nom,nvlObj)
        trouve=False
        indice=0
@@ -190,6 +199,8 @@ class X_MCSIMP(X_OBJECT):
            indice+=1
        if not trouve : print ('Attention souci au changement de valeur de ', self.nom)
        self.objPyxb=nvlObj
+       if isUserASSD : setattr(self.objPyxb,name,newVal)
+       if isUserASSD : print(self.objPyxb.typeUtilisateur)
        #self.objPyxb.objAccas=self
        if debug : print ('fin du setValeurObjPyxb pour ', self.nom, self.perePyxb.objPyxb.orderedContent())
 
@@ -420,7 +431,7 @@ class X_JDC (X_MCCOMPO):
       return (self.objPyxb.toDOM().toprettyxml())
         
 
-   def analyseFromXML(self,debug=False):
+   def analyseFromXML(self,debug=True):
       print ("je suis ds analyseFromXML -- > appel ds analyseXML de I_JDC.py")
       print (self.procedure)
       if self.procedure == "" : return
@@ -428,6 +439,8 @@ class X_JDC (X_MCCOMPO):
       for contentObjEtape in self.objPyxb.orderedContent():
           objEtape=contentObjEtape.value
           objEtape.dictArgs=(self.pyxbToDict(objEtape))
+          # attention au call d Oper qui renomme l objet pyxb
+          if hasattr(objEtape,'name') :  sdName = objEtape.name
           objEtape.monNomClasseAccas=objEtape._ExpandedName.localName()
           objEtape.monNomClasseAccas=objEtape.monNomClasseAccas[2:]
           # doute sur les 2 lignes suivantes : objEtape peut etre contentObjEtape 2juin20
@@ -445,6 +458,7 @@ class X_JDC (X_MCCOMPO):
           if debug : print ('dictArgs',objEtape.dictArgs)
           if debug : print ('dictPyxb',objEtape.dictPyxb)
           objAccasEtape=maClasseAccas(**(objEtape.dictArgs))
+          if hasattr(objEtape,'name') :  objAccasEtape.setName(sdName)
           if debug : print (objAccasEtape)
           if debug : print ( 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
       
@@ -459,7 +473,7 @@ class X_JDC (X_MCCOMPO):
     # traitement SIMP
     # ---------------
     if isinstance(objAAnalyser, pyxb.binding.basis.simpleTypeDefinition): 
-       #print ('je suis un MCSimple')
+       print ('je suis un MCSimple')
     # il faut traiter les UserASSD
        # traitement scalaire
        objAAnalyser.dictPyxb=objAAnalyser