+ #------------#
+ def run(self):
+ #------------#
+ fonction="run"+self.code
+ if fonction in JDCEditor.__dict__.keys(): apply(JDCEditor.__dict__[fonction],(self,))
+
+ #------------#
+ def saveRun(self):
+ #------------#
+ fonction="saveRun"+self.code
+ if fonction in JDCEditor.__dict__.keys(): apply(JDCEditor.__dict__[fonction],(self,))
+
+ #---------------#
+ def runMAP(self):
+ #---------------#
+
+ if not(self.jdc.isvalid()):
+ QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution MAP"))
+ return
+ if len(self.jdc.etapes) != 1 :
+ QMessageBox.critical( self, tr("Execution impossible "),tr("le JDC doit contenir un et un seul composant"))
+ return
+ if self.modified or self.fichier==None :
+ self.fichierMapInput = self.__generateTempFilename(prefix = "map_run", suffix = ".map")
+ texte=self.get_text_JDC("MAP")
+ self.writeFile( self.fichierMapInput, txt = texte)
+ else :
+ self.fichierMapInput=self.fichier
+ composant=self.jdc.etapes[0].nom.lower()[0:-5]
+
+
+ # :TRICKY: to determine if a component requires SALOME, loads the component from Eficas catalog
+ # then instantiate corresponding class and call getUseSalome() method
+ try:
+ from mapengine.spec import factory
+ mapComponent = factory.new(composant)[0]
+
+ command = "map"
+ if mapComponent.getUseSalome():
+ command += " -r sappli"
+ textePython=(command + " run -n "+composant +" -i "+self.fichierMapInput)
+
+ #textePython="ls -l"
+ self._viewTextExecute( textePython,"map_run",".sh")
+ #try:
+ # commande="rm "+self.fichierMapInput
+ # os.system(commande)
+ #except :
+ # pass
+ except Exception, e:
+ print traceback.print_exc()
+
+ #-------------------#
+ def runZCRACKS(self):
+ #-------------------#
+ if not(self.jdc.isvalid()):
+ QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution "))
+ return
+ if self.modified or self.fichier==None :
+ #if 1:
+ self.fichierZcracksInput = self.__generateTempFilename(prefix = "zcracks_run", suffix = ".z7p")
+ texte=self.get_text_JDC("ZCRACKS",pourRun=1)
+ self.writeFile( self.fichierZcracksInput, txt = texte)
+ else :
+ self.fichierZcracksInput=self.fichier
+ try :
+ #commande ="Zrun -zp "
+ commande="more "
+ textePython=(commande + self.fichierZcracksInput)
+ self._viewTextExecute( textePython,"run_zcracks",".sh")
+ except Exception, e:
+ print traceback.print_exc()
+
+ #-------------------#
+ def runCARMELCND(self):
+ #-------------------#
+ #if not(self.jdc.isvalid()):
+ # QMessageBox.critical( self, tr( "Execution impossible "),tr("le JDC doit etre valide pour une execution "))
+ # return
+ if self.modified or self.fichier==None :
+ QMessageBox.critical( self, tr( "Execution impossible "),tr("Sauvegarder SVP avant l'execution "))
+ return
+ if not hasattr(self,'generator'): texte=self.get_text_JDC(self.format)
+ from PrepareRunCarmel import prepareRunCarmel
+ fichierGenerique=os.path.basename(self.fichier).split(".")[0]
+ repMed=os.path.dirname(self.fichier)
+ repExeCarmel=self.generator.get_repExeCarmel()
+ textePython=prepareRunCarmel(repExeCarmel,repMed,fichierGenerique)
+ nomFichier = self.__generateTempFilename("carmel_run", suffix = ".sh")
+ f=open(nomFichier,'w')
+ f.write(textePython)
+ f.close()
+ commande="xterm -e sh "+nomFichier +"\n"
+ os.system(commande)
+ #try :
+ # self._viewTextExecute( textePython,"carmel_run",".sh")
+ #except Exception, e:
+ # print traceback.print_exc()
+
+ #-------------------#
+ def runCarmelCS(self):
+ #-------------------#
+ try :
+ commande="runSession pilotyacsCS.py"
+ os.system(commande)
+ except Exception, e:
+ print traceback.print_exc()