]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
sauvegarde des fichiers incertains; si le jdc n est pas valide, il est possible de...
authorPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 6 Sep 2022 14:11:08 +0000 (16:11 +0200)
committerPASCALE NOYRET <pascale.noyret@edf.fr>
Tue, 6 Sep 2022 14:11:08 +0000 (16:11 +0200)
InterfaceQT4/editor.py
InterfaceQT4/editorSsIhm.py
convert/convert_UQPython.py
generator/generator_UQ.py
generator/generator_python.py

index dae0115cc6fb927e23d784527f04f1bd719b3764..82f56cb4d182a10db145a8209ea42d4e5040d443 100755 (executable)
@@ -900,14 +900,14 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget):
         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)
index e75c0b7eda14b22e8232dd4233d39b60ee21cc7f..102a7321d045fe34b80f8b16390d457063c86fd3 100755 (executable)
@@ -567,18 +567,25 @@ class JDCEditorSsIhm :
     #-----------------------------------#
     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
index 073308c8c79a8d08d7cde3d1f8372eb5fcc1b631..06cd9aad9e32f4992aa374df48e002d4bfc957a1 100644 (file)
@@ -47,7 +47,7 @@ class pythonUQParser(Pythonparser):
         return text
 
     def traitementApresLoad(self,jdc):
-        debug=1
+        debug=0
         if debug : print ('traitementApresLoad')
         etapeIncertitude=jdc.getEtapesByName('ExpressionIncertitude')
         if etapeIncertitude==[] : return
@@ -55,7 +55,7 @@ class pythonUQParser(Pythonparser):
         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
index 40627a1d56815de4a7f15b0892ca7115a6ae5752..39ae154ac7937eec1d04e93f6da64deebd8d27b6 100644 (file)
@@ -71,10 +71,12 @@ class UQGenerator(PythonGenerator):
         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 : 
@@ -87,7 +89,6 @@ class UQGenerator(PythonGenerator):
         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])
@@ -97,16 +98,30 @@ class UQGenerator(PythonGenerator):
             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)
index 7d27406dd7d5c1ff3adf12c9f795825507bcb0e8..15df65ea9faa13f28ecbc2a68799a21e026f52bb 100644 (file)
@@ -405,6 +405,7 @@ class PythonGenerator(object):
            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)