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
#
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()
+
"""
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):
"""
for motcle in self.data :
motcle.deleteMcGlobal()
+
#def __del__(self):
# print "__del__",self
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
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
else:
return [self.nom.strip()]
+
def getGenealogie(self):
"""
Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC
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
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
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
#----------------------------------------------------------------------------------------
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