]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
essai
authorpascale.noyret <pascale.noyret@edf.fr>
Fri, 25 Sep 2020 16:55:59 +0000 (18:55 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Fri, 25 Sep 2020 16:55:59 +0000 (18:55 +0200)
Efi2Xsd/MCAccasXML.py
Efi2Xsd/balisesXSD.py
InterfaceQT4/readercata.py

index d9dd432b7e9f2a1652b622b12168aaabbef67314..fbd0f14cbf8cca6347a379ee71e07bdd34a32143 100755 (executable)
@@ -113,6 +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 ('_______________ 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)
@@ -128,13 +129,10 @@ class X_MCSIMP(X_OBJECT):
               print ('self.maClasseModeleMetierFactory', self.maClasseModeleMetierFactory)
         else : self.needFactory=False
       else :
-        print ('_____________________uuuuuuuuuuuuuuuuuuuu')
-        print (self.cata.DicoNomTypeDifferentNomElt)
-        print ('_____________________uuuuuuuuuuuuuuuuuuuu')
-        self.monNomClasseModeleMetier='T_'+self.nom
-        if self.monNomClasseModeleMetier=='T_termeLE' : monNomClasseModeleMetier= 'T_termeLE_1'
-        if self.nom in list(self.cata.DicoNomTypeDifferentNomElt.keys()) : 
-           self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.nom][self.nomComplet()]
+        self.monNomClasseModeleMetier ='T_'+self.nom
+        if self.monNomClasseModeleMetier in list(self.cata.DicoNomTypeDifferentNomElt.keys()) : 
+           self.monNomClasseModeleMetier=self.cata.DicoNomTypeDifferentNomElt[self.monNomClasseModeleMetier][self.definition.nomComplet()]
+        if debug : print ('Pour', self.nom, ' le type est ', self.monNomClasseModeleMetier)
         self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier)
         if issubclass(self.maClasseModeleMetier, self.cata.modeleMetier.pyxb.binding.basis.STD_union): 
               if debug : print ('needFactory')
@@ -145,8 +143,6 @@ class X_MCSIMP(X_OBJECT):
         if self.valeur != None : 
            if self.needFactory :  
               if self.definition.max > 1 : 
-                 print (self.monNomClasseModeleMetier)
-                 exit()
                  self.objPyxb=self.maClasseModeleMetier(self.valeur)
               else :  self.objPyxb=self.maClasseModeleMetierFactory(self.valeur)
            else                :  self.objPyxb=self.maClasseModeleMetier(self.valeur)
@@ -156,11 +152,11 @@ class X_MCSIMP(X_OBJECT):
 
 
         #if self.objPyxb !=None : self.objPyxb.objAccas=self
-      #if debug : print ('X_MCSIMP', self.nom, self.objPyxb, )
+      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=True):
+   def setValeurObjPyxb(self,newVal, debug=False):
        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)
@@ -240,12 +236,24 @@ class X_MCCOMPO(X_OBJECT) :
         if debug : print ('je passe dans le if pour ', self.nom, self.objPyxb, self)
         if debug : print ('X_MCCOMPO', self, self.nom, self.objPyxb,self.listArg,self.objPyxb.orderedContent())
       else :
-        if debug : print (self.nom)
         if debug : print (self.listArg)
         # self.objPyxb=self.maClasseModeleMetier(*self.listArg)
         self.objPyxb=self.maClasseModeleMetier(**self.dicoArg)
+        if debug :
+          for o in self.objPyxb.orderedContent():
+            print (o)
+            print (o.value)
+            print (type(o.value))
+            print (id(o.value))
+            print (id(o.value))
+        print ('______________________')
         newOrderedContent=[]
         for obj in self.listArg:
+           if debug :
+              print (obj)
+              print (type(obj))
+              print (id(obj))
+      
            # on teste le caractere pluriel
            if (hasattr(obj, 'nature')) : # attention on a un object Accas et non un pyxb car les MCList n ont pas de objPyxb
                max=obj[0].definition.max 
@@ -270,7 +278,7 @@ class X_MCCOMPO(X_OBJECT) :
 
 
    def exploreBLOC(self,objAccas):
-      print (' ds exploreBLOC', objAccas .nom)
+      #print (' ds exploreBLOC', objAccas .nom)
       laListeSsLesBlocs=[]
       for fils in objAccas.mcListe:
         if fils.nature == 'MCBLOC' :
@@ -295,6 +303,7 @@ class X_MCCOMPO(X_OBJECT) :
            self.dicoArg[fils.nom]=fils.objPyxb
            fils.perePyxb=self
            print (fils.nom ,' est un SIMP a pour pere Pyxb', self, self.nom)
+      #print ('fin  ds exploreBLOC', objAccas .nom)
           
    
 
index ffff48796951bdda8816a13e820ef9b742076b90..d6bd7096f6782f8c6653d71e979df912dc0cc379 100644 (file)
@@ -3,6 +3,8 @@ texteDebutNiveau2='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="
 texteDebutNiveau3='<?xml version="1.0" encoding="UTF-8"?>\n<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"\nxmlns="http://chercheurs.edf.com/logiciels/{}"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}"\nxmlns:{}="http://chercheurs.edf.com/logiciels/{}"\ntargetNamespace="http://chercheurs.edf.com/logiciels/{}"\nelementFormDefault="qualified" attributeFormDefault="unqualified" version="0">\n'
 texteFin='</xs:schema>'
 
+texteAnnotation= '\t<xs:simpleType name="PNEFdico">\n\t\t<xs:annotation>\n\t\t<xs:documentation>{}\n\t\t</xs:documentation>\n\t\t</xs:annotation>\n\t<xs:restriction base="xs:string"></xs:restriction>\n\t</xs:simpleType>\n'
+
 # SIMP
 debutSimpleType      = '\t<xs:simpleType name="{}">\n'
 debutSimpleTypeSsNom = '\t<xs:simpleType>\n'
index 2d6a8718a97570146aafeef55cf96aa5ea97d7ba..cf2670556fe1c65d48f72ad450d8e1635d24ffb1 100644 (file)
@@ -217,6 +217,7 @@ class ReaderCata (ReaderCataCommun):
       self.choisitCata()
 
       modeleMetier = None
+      dicoEltDif = {}
       if not (self.appliEficas.genereXSD) :
          if (self.appliEficas.maConfiguration.withXSD or self.appliEficas.withXSD)  :
            try :
@@ -231,12 +232,22 @@ class ReaderCata (ReaderCataCommun):
              pathCata = os.path.dirname(self.fichierCata)+'/raw/'+nomCataXsd+'.py'
              import imp
              modeleMetier= imp.load_source(nomCataXsd,pathCata)
+             #print ('nomCataXsd , pathCata ',nomCataXsd,pathCata)
+             texte=modeleMetier.PNEFdico.__doc__
+             if texte != None and texte != "":
+                l={}
+                texte='dicoEltDif = '+ texte
+                exec (texte, globals(),l)
+                dicoEltDif=l['dicoEltDif']
+             
            except :
              if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ')
              self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False)
              modeleMetier = None
 
       self.cata = self.importCata(self.fichierCata)
+      #self.cata.DicoNomTypeDifferentNomElt={'T_monObjet': {'_monObjet_FInt_MonProc': 'T_monObjet', '_monObjet_FText_MonProc': 'T_monObjet_2', '_monObjet_FFloat_MonProc': 'T_monObjet_1'}}
+      self.cata.DicoNomTypeDifferentNomElt=dicoEltDif
       if hasattr(self.cata, 'implement'): self.cata.JdC.implement = self.cata.implement
       else : self.cata.JdC.implement = ""
       if hasattr(self.cata, 'importedBy'): self.cata.JdC.importedBy = self.cata.importedBy