if self.jdc.isValid() == 0 :
msgBox = QMessageBox(None)
msgBox.setWindowTitle(tr("Fichier invalide / incomplet"))
- msgBox.setText(tr("Le fichier .comm est invalide / incomplet"))
- msgBox.addButton(tr("&Sauvegarder le .comm"),0)
+ msgBox.setText(tr("Le fichier .comm est invalide / incomplet \n Seuls les .comm et _UQ.comm seront sauvegardes"))
+ msgBox.addButton(tr("&Sauvegarder les .comm et _UQ.comm"),0)
msgBox.addButton(tr("&Quitter sans sauvegarder"),1)
msgBox.addButton(tr("&Annuler"),2)
res=msgBox.exec_()
if res == 2 : return (0, None)
if res == 0 :
- ret, fichier = JDCEditorSsIhm.saveFile (self,fn)
+ ret, fichier = JDCEditorSsIhm.saveUQFile (self,fn)
if ret : self.fichier = fichier
if self.salome and ret:
self.appliEficas.addJdcInSalome( self.fichier)
#-----------------------------------#
def saveUQFile(self, fichier = None):
#------------------------------------#
- if fichier == None : print ("nom de fichier obligatoire pour sauvegarde"); return
+ if fichier == None :
+ self.informe ("nom de fichier obligatoire pour sauvegarde");
+ return 0, None
self.fichier=fichier
self.generator=generator.plugins['UQ']()
ret = self.generator.creeNomsFichiers(fichier)
+ if not ret :
+ self.informe('Sauvegarde UQ', self.generator.commentaire)
+ return ret, None
ret = self.generator.gener(self.jdc)
if not ret :
self.informe('Sauvegarde UQ', self.generator.commentaire)
- return (ret, self.generator.commentaire)
+ return ret, None
+ if ret == 2 :
+ self.informe('Sauvegarde UQ', self.generator.commentaire, critique=False)
+ return 1, fichier
ret = self.generator.writeUQ(fichier)
if not ret : self.informe('Sauvegarde UQ', self.generator.commentaire)
- print ('ok')
- return ret
+ return ret, fichier
# ---------------------------------------------
# Methodes Surchargees par avecIhm
return text
def traitementApresLoad(self,jdc):
- debug=1
+ debug=0
if debug : print ('traitementApresLoad')
etapeIncertitude=jdc.getEtapesByName('ExpressionIncertitude')
if etapeIncertitude==[] : return
incertitudeInput = etapeIncertitude[0].getChildOrChildInBloc('Input')
self.lesVariablesInput = incertitudeInput[0].getChildOrChildInBloc('VariableProbabiliste')
for mc in self.lesVariablesInput :
- if debug : print (mc,'mc')
+ #if debug : print (mc,'mc')
mcVDPath=mc.getChild('MCPath').valeur
if debug : print(mcVDPath)
# a modifier lorsque le MCPath comprendra le nom des OPERs
self.indent1 = ' '
self.nomsDesVariablesInput2 = []
- #print (jdc.code)
if jdc.nature != 'JDC' or not jdc.isValid():
- self.commentaire= 'il faut un JDC Valide'
- return 0
+ ret, commentaire = self.sauveUniquementCommEt_UQComm(jdc)
+ if not ret : return (ret, commentaire)
+ self.commentaire = 'Le JDC doit etre valide pour generer le script de lancement et le fichier à balises\n'
+ self.commentaire += 'Seuls les fichiers _UQ.comm et .comm ont été sauvegardés'
+ return 2
self.jdc=jdc
ret, commentaire = self.analyseIncertitude()
if not ret :
return self.text
def creeNomsFichiers(self,fichier):
- print ('creeNomsFichiers', fichier)
self.cheminFichierComm=os.path.abspath(os.path.dirname(fichier))
if fichier.endswith('.comm'):
self.fichierSansSuffixe=os.path.basename(fichier[:-5])
self.fichierUQBalise = self.fichierSansSuffixe+'_UQBalise.comm'
self.fichierUQExe = self.fichierSansSuffixe+'_UQ.py'
self.fichierUQModule = os.path.basename(self.fichierUQExe)[:-3]
+ return (1, '')
else:
return (0, 'le fichier jeux de données |'+fichier+'| doit être suffixé par .comm')
+ def sauveUniquementCommEt_UQComm(self, jdc):
+ self.inGenerUQ=False
+ self.forceGenerUQ=False
+ self.text=PythonGenerator.gener(self,jdc,'beautifie')
+ fichierComm = os.path.join(self.cheminFichierComm,self.fichierSansSuffixe)+'.comm'
+ if not self.writeFile(fichierComm) : return (0, 'impossible de sauvegarder le .comm')
+ self.forceGenerUQ=True
+ self.text=PythonGenerator.gener(self,jdc,'beautifie')
+ fichierUQComm = os.path.join(self.cheminFichierComm,self.fichierUQComm)
+ if not self.writeFile(fichierUQComm) : return (0, 'impossible de sauvegarder le _UQ.comm')
+ return (1, '')
+
+
def writeUQ(self,fichier):
# il manque le checksum
fichierUQComm = os.path.join(self.cheminFichierComm,self.fichierUQComm)
fichierUQBalise = os.path.join(self.cheminFichierComm,self.fichierUQBalise)
fichierUQExe = os.path.join(self.cheminFichierComm,self.fichierUQExe)
- if not self.writeFile(fichierUQComm) : return (0, 'impossible de sauvegarder le .comm')
+ if not self.writeFile(fichierUQComm) : return (0, 'impossible de sauvegarder le _UQ.comm')
try :
with open(fichierUQBalise, "w") as fp:
fp.write(self.textUQ)
Cette methode convertit une PROC etape
en une liste de chaines de caracteres a la syntaxe python
"""
+ if obj.nom == 'ExpressionIncertitude' and (not hasattr(self, 'forceGenerUQ') or not(self.forceGenerUQ)) : return ''
l=[]
label=obj.definition.nom+'('
l.append(label)