]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
preparation d un .py correspondant au .comm est au .xml
authorpascale.noyret <pascale.noyret@edf.fr>
Thu, 9 May 2019 07:10:11 +0000 (09:10 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Thu, 9 May 2019 07:10:11 +0000 (09:10 +0200)
Ihm/I_ETAPE.py
Ihm/I_MCBLOC.py
Ihm/I_MCFACT.py
Ihm/I_MCLIST.py
Ihm/I_MCSIMP.py
Ihm/I_OBJECT.py
Noyau/N_JDC.py
generator/generator_XML.py

index 43bbbb8f2b9cd954f3a61c072c86abf782a083d6..20ddc1ae59f7bc6d4a8f785af369f9d9bdeb424f 100644 (file)
@@ -371,6 +371,16 @@ class ETAPE(I_MCCOMPO.MCCOMPO):
    def getGenealogiePrecise(self):
       return [self.nom]
 
+   def getNomDsXML(self):
+     # en xml on a un choice 
+     index=0
+     for e in self.parent.etapes :
+         if e == self : break
+         if e.nom == self.nom : index+=1
+     nomDsXML = self.nom + "[" + str(index) + "]"
+     return nomDsXML
+
+
    def getGenealogie(self):
       """ 
           Retourne la liste des noms des ascendants de l'objet self
index 46f535025803cecedde344756133e23a96791d9a..19a2690eff0d8b414889174459a779ddaa6d11c7 100644 (file)
@@ -19,5 +19,9 @@
 #
 from __future__ import absolute_import
 from . import I_MCCOMPO
-class MCBLOC(I_MCCOMPO.MCCOMPO):pass
+class MCBLOC(I_MCCOMPO.MCCOMPO):
+
+   def getNomDsXML(self):
+     return self.parent.getNomDsXML()
+
 
index b0d49fe901db817bc875fb7026c98b4ec6b67c68..a95eba455ac37e65466f2bb6ef6057a726f60237 100644 (file)
@@ -48,6 +48,19 @@ class MCFACT(I_MCCOMPO.MCCOMPO):
      """
      return self.definition.min,self.definition.max
 
+  def getNomDsXML(self):
+     # en xml on a une sequence si max est superieur a 1
+     # sinon non
+     objet = self.parent.getChild(self.nom, restreint='oui')
+     if len(objet) > 1 :
+        index = objet.getIndex(self) 
+        nom = self.nom + "[" + str(index) + "]"
+     else :
+        if self.definition.max == 1 : nom = self.nom
+        else :  nom = self.nom+"[0]"
+     nomDsXML=self.parent.getNomDsXML()+"."+nom
+     return nomDsXML
+
 
   def getLabelText(self):
     """
index 834b4c3eab28979c797d42ad51f09fcac915afb0..fc8583fb98168f8ff66ea9c92c1e692e53769839 100644 (file)
@@ -287,5 +287,6 @@ class MCList:
      for motcle in self.data :
          motcle.deleteMcGlobal()
 
+
   #def __del__(self):
   #   print "__del__",self
index 4602db888cfd05dd0d74eea203115298d5ed214d..6ac37526fa3586e0ea9bcbb9cef35e828851e799 100644 (file)
@@ -365,10 +365,8 @@ class MCSIMP(I_OBJECT.OBJECT):
       d['EVAL']=Accas.EVAL
       try :
         objet = eval(new_valeur,d)
-        print (1)
         return objet,1
       except Exception:
-        print (2)
         itparam=self.chercheItemParametre(new_valeur)
         if itparam:
              return itparam,1
@@ -704,6 +702,10 @@ class MCSIMP(I_OBJECT.OBJECT):
        self.monType.nbLigs=len(listeVariables)
        self.monType.nbCols=len(listeVariables)
       
+  def getNomDsXML(self):
+      nomDsXML=self.parent.getNomDsXML()+"."+self.nom
+      return nomDsXML
+
 #--------------------------------------------------------------------------------
  
 #ATTENTION SURCHARGE : toutes les methodes ci apres sont des surcharges du Noyau et de Validation
index 1013aaf3c39b7d1eba1474fd79a51b57f8704b42..bc779586baa1897cda288a5e78a83a6f2ee00a8f 100644 (file)
@@ -115,6 +115,7 @@ class OBJECT:
     else:
        return [self.nom.strip()]
 
+
   def getGenealogie(self):
     """ 
         Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC
index 178a797e9b09d85ecec6d8c90dcb017a606c4616..bf33c7faaa36e9838f22bf18416e72ccfa76276a 100644 (file)
@@ -149,9 +149,8 @@ NONE = None
            compte-rendu self.cr
         """
         try:
-            if self.appli != None:
-                self.appli.afficheInfos(
-                    'Compilation du fichier de commandes en cours ...')
+            #if self.appli != None:
+            #    self.appli.afficheInfos( 'Compilation du fichier de commandes en cours ...')
             # Python 2.7 compile function does not accept unicode filename, so we encode it
             # with the current locale encoding in order to have a correct
             # traceback
@@ -221,9 +220,10 @@ Causes possibles :
                     if isinstance(sd, ASSD):
                         self.sds_dict[sdnom] = sd
 
-            if self.appli != None:
-                self.appli.afficheInfos(
-                    'Interpretation du fichier de commandes en cours ...')
+            #if self.appli != None:
+            #    self.appli.afficheInfos(
+            #        'Interpretation du fichier de commandes en cours ...')
+
             # On sauve le contexte pour garder la memoire des constantes
             # En mode edition (EFICAS) ou lors des verifications le contexte
             # est recalcule
index b6f9c9d00ce43180919cdc356bdd190df57e2c16..a4ff1221449282f3f4085e41c12797b583202cc3 100644 (file)
@@ -62,6 +62,8 @@ class XMLGenerator(PythonGenerator):
         self.texteXML='erreur generation'
         pass
       
+      self.textePourAide =""
+      self.dictNbNomObj={}
       # Cette instruction genere le contenu du fichier de commandes (persistance)
       self.text=PythonGenerator.gener(self,obj,format)
       return self.text
@@ -75,11 +77,27 @@ class XMLGenerator(PythonGenerator):
 #----------------------------------------------------------------------------------------
 
    def writeDefault(self,fn) :
-       fileXML = fn[:fn.rfind(".")] + '.xml'
+       fileXML  = fn[:fn.rfind(".")] + '.xml'
+       filePyxb = fn[:fn.rfind(".")] + '.py'
        #fileDico='/tmp/toto.xml'
        #print (self.texteXML)
        f = open( str(fileXML), 'w')
        f.write(str(self.texteXML))
        f.close()
 
+       f = open( str(filePyxb), 'w')
+       f.write(str(self.textePourAide))
+       f.close()
+
+
+   def generMCSIMP(self,obj) :
+       if obj.nom in self.dictNbNomObj.keys():
+          nomUtil = obj.nom + "_" + str(self.dictNbNomObj[obj.nom])
+          self.dictNbNomObj[obj.nom] += 1
+       else :
+          nomUtil = obj.nom 
+          self.dictNbNomObj[obj.nom] = 1
+       self.textePourAide += nomUtil + " = vimmpCase." + obj.getNomDsXML() + "\n"
 
+       s=PythonGenerator.generMCSIMP(self,obj)
+       return s