From: pascale.noyret Date: Thu, 9 May 2019 07:10:11 +0000 (+0200) Subject: preparation d un .py correspondant au .comm est au .xml X-Git-Tag: avantMenage~12 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9319a03ccd92bdaac5302dc7786e9258fae89591;p=tools%2Feficas.git preparation d un .py correspondant au .comm est au .xml --- diff --git a/Ihm/I_ETAPE.py b/Ihm/I_ETAPE.py index 43bbbb8f..20ddc1ae 100644 --- a/Ihm/I_ETAPE.py +++ b/Ihm/I_ETAPE.py @@ -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 diff --git a/Ihm/I_MCBLOC.py b/Ihm/I_MCBLOC.py index 46f53502..19a2690e 100644 --- a/Ihm/I_MCBLOC.py +++ b/Ihm/I_MCBLOC.py @@ -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() + diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index b0d49fe9..a95eba45 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -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): """ diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index 834b4c3e..fc8583fb 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -287,5 +287,6 @@ class MCList: for motcle in self.data : motcle.deleteMcGlobal() + #def __del__(self): # print "__del__",self diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 4602db88..6ac37526 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -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 diff --git a/Ihm/I_OBJECT.py b/Ihm/I_OBJECT.py index 1013aaf3..bc779586 100644 --- a/Ihm/I_OBJECT.py +++ b/Ihm/I_OBJECT.py @@ -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 diff --git a/Noyau/N_JDC.py b/Noyau/N_JDC.py index 178a797e..bf33c7fa 100644 --- a/Noyau/N_JDC.py +++ b/Noyau/N_JDC.py @@ -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 diff --git a/generator/generator_XML.py b/generator/generator_XML.py index b6f9c9d0..a4ff1221 100644 --- a/generator/generator_XML.py +++ b/generator/generator_XML.py @@ -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