from __future__ import absolute_import
from __future__ import print_function
try :
- from builtins import str
- from builtins import range
+ from builtins import str
+ from builtins import range
except : pass
import types,sys,os, re
from desBaseWidget import Ui_baseWidget
from InterfaceQT4.monViewTexte import ViewText
-from monWidgetCreeParam import MonWidgetCreeParam
+from monWidgetCreeParam import MonWidgetCreeParam
DictExtensions= {"MAP" : ".map", "TELEMAC" : '.cas'}
debug = False
-
+
from InterfaceQT4.editorSsIhm import JDCEditorSsIhm
JDCEditorSsIhm. __init__ (self,appliEficas,fichier, jdc,units,include)
if self.jdc:
- comploader.chargerComposants()
- self.jdc_item=Objecttreeitem.makeObjecttreeitem( self, "nom", self.jdc )
+ comploader.chargerComposants()
+ self.jdc_item=Objecttreeitem.makeObjecttreeitem( self, "nom", self.jdc )
# Particularites IHM : met la fenetre a jour
if self.maConfiguration.closeOptionnel : self.fermeOptionnel()
if self.maConfiguration.boutonDsMenuBar : self.appliEficas.remplitIconesCommandes()
-
+
self.formatFichierOut = self.appliEficas.formatFichierOut
self.formatFichierIn = self.appliEficas.formatFichierIn
self.Commandes_Ordre_Catalogue =self.readercata.Commandes_Ordre_Catalogue
if self.appliEficas.readercata.demandeCatalogue==True :
- nomFichierTranslation='translatorFichier'+'_'+str(self.appliEficas.readercata.labelCode)
- if hasattr(self.appliEficas.maConfiguration,nomFichierTranslation) :
- translatorFichier=getattr(self.appliEficas.maConfiguration,nomFichierTranslation)
- from Extensions import localisation
- localisation.localise(None,self.appliEficas.langue,translatorFichier=translatorFichier)
+ nomFichierTranslation='translatorFichier'+'_'+str(self.appliEficas.readercata.labelCode)
+ if hasattr(self.appliEficas.maConfiguration,nomFichierTranslation) :
+ translatorFichier=getattr(self.appliEficas.maConfiguration,nomFichierTranslation)
+ from Extensions import localisation
+ localisation.localise(None,self.appliEficas.langue,translatorFichier=translatorFichier)
if self.jdc_item and self.appliEficas.ssIhm==False :
# saveFileLegerAs
# ---------------------------------------------
-# Methodes Surchargees
+# Methodes Surchargees
# ---------------------------------------------
#-----------------------------------------------------------------------#
#--------------------------------#
def informe(self,titre,txt,critique=True):
#--------------------------------#
- if critique :
- self.afficheInfos(tr(txt),Qt.red)
- QMessageBox.critical( self, tr(titre), tr(txt))
- else :
- QMessageBox.warning( self, tr(titre),tr(txt))
+ if critique :
+ self.afficheInfos(tr(txt),Qt.red)
+ QMessageBox.critical( self, tr(titre), tr(txt))
+ else :
+ QMessageBox.warning( self, tr(titre),tr(txt))
#--------------------------------#
def ajoutCommentaire(self):
#--------------------------------#
if self.tree.selectedItems()==[] :
- QMessageBox.warning( self, tr("Pas de noeud selectionne"),tr("Selectionnez un Noeud \nLe commentaire sera place apres le noeud selectionne"))
- return
+ QMessageBox.warning( self, tr("Pas de noeud selectionne"),tr("Selectionnez un Noeud \nLe commentaire sera place apres le noeud selectionne"))
+ return
noeudAvantCommentaire=self.tree.selectedItems()[0]
- if noeudAvantCommentaire ==self.tree.racine :
+ if noeudAvantCommentaire ==self.tree.racine :
self.tree.racine.appendChild("COMMENTAIRE",pos=0)
return
noeudAvantCommentaire.addComment(True)
self.monExe.closeWriteChannel()
self.w.exec_()
try:
- commande="rm "+ nomFichier
- os.system(commande)
+ commande="rm "+ nomFichier
+ os.system(commande)
except :
- pass
+ pass
def readFromStdErr(self):
a=self.monExe.readAllStandardError()
a=self.monExe.readAllStandardOutput()
self.w.view.append(str(a.data()))
-
+
#-----------------------#
def gestionParam(self):
#-----------------------#
#----------------------------------------------#
if couleur=='red' : couleur = Qt.red
if self.sb:
- mapalette=self.sb.palette()
- mapalette.setColor( QPalette.WindowText, couleur )
- self.sb.setPalette( mapalette );
- self.sb.showMessage(message,4000)
- self.couleur=couleur
+ mapalette=self.sb.palette()
+ mapalette.setColor( QPalette.WindowText, couleur )
+ self.sb.setPalette( mapalette );
+ self.sb.showMessage(message,4000)
+ self.couleur=couleur
#------------------------------#
def afficheAlerte(self,titre,message):
#---------------------------------------#
def chercheNoeudSelectionne(self,copie=1):
#---------------------------------------#
- """
- appele par Cut et Copy pour positionner self.node_selected
- """
- self.node_selected=[]
- if len(self.tree.selectedItems()) == 0 : return
- self.node_selected=self.tree.selectedItems()
+ """
+ appele par Cut et Copy pour positionner self.node_selected
+ """
+ self.node_selected=[]
+ if len(self.tree.selectedItems()) == 0 : return
+ self.node_selected=self.tree.selectedItems()
#---------------------#
def handleSupprimer(self):
#---------------------#
- self.chercheNoeudSelectionne()
- if len(self.node_selected) == 0 : return
- self.QWParent.noeud_a_editer = []
- if self.node_selected[0]==self.tree.racine: return
- if len(self.node_selected) == 1 : self.node_selected[0].delete()
- else : self.node_selected[0].deleteMultiple(self.node_selected)
+ self.chercheNoeudSelectionne()
+ if len(self.node_selected) == 0 : return
+ self.QWParent.noeud_a_editer = []
+ if self.node_selected[0]==self.tree.racine: return
+ if len(self.node_selected) == 1 : self.node_selected[0].delete()
+ else : self.node_selected[0].deleteMultiple(self.node_selected)
#---------------------#
def handleRechercher(self):
#---------------------#
- from .monRecherche import DRecherche
- monRechercheDialg=DRecherche(parent=self,fl=0)
- monRechercheDialg.show()
+ from .monRecherche import DRecherche
+ monRechercheDialg=DRecherche(parent=self,fl=0)
+ monRechercheDialg.show()
#--------------------------------#
def handleRechercherDsCatalogue(self):
#-----------------------------#
- from .monRechercheCatalogue import DRechercheCatalogue
- monRechercheDialg=DRechercheCatalogue(self.QWParent,self)
- monRechercheDialg.show()
+ from .monRechercheCatalogue import DRechercheCatalogue
+ monRechercheDialg=DRechercheCatalogue(self.QWParent,self)
+ monRechercheDialg.show()
#---------------------#
def handleDeplier(self):
#---------------------#
- if self.tree == None : return
- #self.tree.collapseAll()
- if self.deplier :
- #print "je plie"
- self.tree.expandItem(self.tree.topLevelItem(0))
- self.deplier = False
- if self.fenetreCentraleAffichee != None :
- if hasattr(self.fenetreCentraleAffichee.node,'plieToutEtReaffiche'):
- self.fenetreCentraleAffichee.node.plieToutEtReaffiche()
- else:
- #print "je deplie"
- self.tree.expandItem(self.tree.topLevelItem(0))
- self.deplier = True
- if self.fenetreCentraleAffichee != None :
- if hasattr(self.fenetreCentraleAffichee.node,'deplieToutEtReaffiche'):
- self.fenetreCentraleAffichee.node.deplieToutEtReaffiche()
+ if self.tree == None : return
+ #self.tree.collapseAll()
+ if self.deplier :
+ #print "je plie"
+ self.tree.expandItem(self.tree.topLevelItem(0))
+ self.deplier = False
+ if self.fenetreCentraleAffichee != None :
+ if hasattr(self.fenetreCentraleAffichee.node,'plieToutEtReaffiche'):
+ self.fenetreCentraleAffichee.node.plieToutEtReaffiche()
+ else:
+ #print "je deplie"
+ self.tree.expandItem(self.tree.topLevelItem(0))
+ self.deplier = True
+ if self.fenetreCentraleAffichee != None :
+ if hasattr(self.fenetreCentraleAffichee.node,'deplieToutEtReaffiche'):
+ self.fenetreCentraleAffichee.node.deplieToutEtReaffiche()
#---------------------#
def handleEditCut(self):
#---------------------#
- """
- Stocke dans Eficas.noeud_a_editer le noeud a couper
- """
- #print "handleEditCut"
- self.chercheNoeudSelectionne()
- self.QWParent.edit="couper"
- self.QWParent.noeud_a_editer = self.node_selected
+ """
+ Stocke dans Eficas.noeud_a_editer le noeud a couper
+ """
+ #print "handleEditCut"
+ self.chercheNoeudSelectionne()
+ self.QWParent.edit="couper"
+ self.QWParent.noeud_a_editer = self.node_selected
#-----------------------#
def handleEditCopy(self):
#-----------------------#
- """
- Stocke dans Eficas.noeud_a_editer le noeud a copier
- """
- self.chercheNoeudSelectionne()
- if len(self.node_selected) == 0 : return
- if len(self.node_selected) == 1 : self.node_selected[0].updateNodeLabelInBlue()
- else : self.node_selected[0].updatePlusieursNodeLabelInBlue(self.node_selected)
- self.QWParent.edit="copier"
- self.QWParent.noeud_a_editer = self.node_selected
+ """
+ Stocke dans Eficas.noeud_a_editer le noeud a copier
+ """
+ self.chercheNoeudSelectionne()
+ if len(self.node_selected) == 0 : return
+ if len(self.node_selected) == 1 : self.node_selected[0].updateNodeLabelInBlue()
+ else : self.node_selected[0].updatePlusieursNodeLabelInBlue(self.node_selected)
+ self.QWParent.edit="copier"
+ self.QWParent.noeud_a_editer = self.node_selected
#------------------------#
def handleEditPaste(self):
#------------------------#
- """
- Lance la copie de l'objet place dans self.QWParent.noeud_a_editer
- Ne permet que la copie d'objets de type Commande ou MCF
- """
- self.chercheNoeudSelectionne()
- if (not(hasattr(self.QWParent,'noeud_a_editer'))) or len(self.QWParent.noeud_a_editer)==0:
- QMessageBox.information( self,
- tr("Copie impossible"),
- tr("Veuillez selectionner un objet a copier"))
- return
- if len(self.node_selected) != 1 :
- QMessageBox.information( self,
- tr("Copie impossible"),
- tr("Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne"))
- return
- noeudOuColler=self.node_selected[0]
-
- if len(self.QWParent.noeud_a_editer)!=1:
- #self.handleEditPasteMultiple()
- QMessageBox.information( self, tr("Copie impossible"), tr("Aucun Objet n a ete copie ou coupe"))
- return
-
- noeudACopier=self.QWParent.noeud_a_editer[0]
-
- if (self.QWParent.edit != "couper"):
- #print (noeudOuColler.item.parent.getChild(noeudOuColler.item.nom))
- try:
- if noeudOuColler == self.tree.racine :
- child=noeudOuColler.doPastePremier(noeudACopier)
- else :
- child=noeudACopier.doPaste(noeudOuColler,'after')
-
- if child==None or child==0:
- QMessageBox.critical( self,tr( "Copie refusee"),tr('Eficas n a pas reussi a copier l objet'))
- self.message = ''
- self.afficheInfos("Copie refusee",Qt.red)
- if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor:
- try :
- nom=noeudACopier.item.sd.nom
- child.item.nommeSd(nom)
- except :
- pass
- return
- self.initModif()
- child.select()
- except :
- traceback.print_exc()
- QMessageBox.critical( self,tr( "Copie refusee"),tr('Copie refusee pour ce type d objet'))
- self.message = ''
- self.afficheInfos("Copie refusee",Qt.red)
- return
-
- # il faut declarer le JDCDisplay_courant modifie
- # suppression eventuelle du noeud selectionne
- # si possible on renomme l objet comme le noeud couper
-
- if (self.QWParent.edit == "couper"):
- if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor:
- QMessageBox.critical( self, tr("Deplacement refuse"),tr('Deplacement refuse entre 2 fichiers. Seule la copie est autorisee '))
-
- #if 1:
- try :
- # indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
- indexNoeudACopier=self.getTreeIndex(noeudACopier)
- noeudACopier.treeParent.item.deplaceEntite(indexNoeudACopier,indexNoeudOuColler,pos)
- noeudACopier.treeParent.buildChildren()
-
- #else:
- except:
- pass
- self.QWParent.noeud_a_editer=[]
+ """
+ Lance la copie de l'objet place dans self.QWParent.noeud_a_editer
+ Ne permet que la copie d'objets de type Commande ou MCF
+ """
+ self.chercheNoeudSelectionne()
+ if (not(hasattr(self.QWParent,'noeud_a_editer'))) or len(self.QWParent.noeud_a_editer)==0:
+ QMessageBox.information( self,
+ tr("Copie impossible"),
+ tr("Veuillez selectionner un objet a copier"))
+ return
+ if len(self.node_selected) != 1 :
+ QMessageBox.information( self,
+ tr("Copie impossible"),
+ tr("Veuillez selectionner un seul objet : la copie se fera apres le noeud selectionne"))
+ return
+ noeudOuColler=self.node_selected[0]
- # on rend la copie a nouveau possible en liberant le flag edit
- self.QWParent.edit="copier"
- noeudACopier.select()
+ if len(self.QWParent.noeud_a_editer)!=1:
+ #self.handleEditPasteMultiple()
+ QMessageBox.information( self, tr("Copie impossible"), tr("Aucun Objet n a ete copie ou coupe"))
+ return
+
+ noeudACopier=self.QWParent.noeud_a_editer[0]
+
+ if (self.QWParent.edit != "couper"):
+ #print (noeudOuColler.item.parent.getChild(noeudOuColler.item.nom))
+ try:
+ if noeudOuColler == self.tree.racine :
+ child=noeudOuColler.doPastePremier(noeudACopier)
+ else :
+ child=noeudACopier.doPaste(noeudOuColler,'after')
+
+ if child==None or child==0:
+ QMessageBox.critical( self,tr( "Copie refusee"),tr('Eficas n a pas reussi a copier l objet'))
+ self.message = ''
+ self.afficheInfos("Copie refusee",Qt.red)
+ if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor:
+ try :
+ nom=noeudACopier.item.sd.nom
+ child.item.nommeSd(nom)
+ except :
+ pass
+ return
+ self.initModif()
+ child.select()
+ except :
+ traceback.print_exc()
+ QMessageBox.critical( self,tr( "Copie refusee"),tr('Copie refusee pour ce type d objet'))
+ self.message = ''
+ self.afficheInfos("Copie refusee",Qt.red)
+ return
+
+ # il faut declarer le JDCDisplay_courant modifie
+ # suppression eventuelle du noeud selectionne
+ # si possible on renomme l objet comme le noeud couper
+
+ if (self.QWParent.edit == "couper"):
+ if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor:
+ QMessageBox.critical( self, tr("Deplacement refuse"),tr('Deplacement refuse entre 2 fichiers. Seule la copie est autorisee '))
+
+ #if 1:
+ try :
+ # indexNoeudACopier=noeudACopier.treeParent.children.index(noeudACopier)
+ indexNoeudACopier=self.getTreeIndex(noeudACopier)
+ noeudACopier.treeParent.item.deplaceEntite(indexNoeudACopier,indexNoeudOuColler,pos)
+ noeudACopier.treeParent.buildChildren()
+
+ #else:
+ except:
+ pass
+ self.QWParent.noeud_a_editer=[]
+
+ # on rend la copie a nouveau possible en liberant le flag edit
+ self.QWParent.edit="copier"
+ noeudACopier.select()
#----------------------------------#
def handleDeplaceMultiple(self):
#----------------------------------#
- pass
+ pass
#----------------------------------#
def handleEditPasteMultiple(self):
# On ne garde que les niveaux "Etape"
# On insere dans l'ordre du JDC
- listeNoeudsACouper=[]
- listeIndex=[]
- listeChild=[]
- listeItem=[]
- from InterfaceQT4 import compojdc
- noeudOuColler=self.node_selected[0]
- if not (isinstance(noeudOuColler.treeParent, compojdc.Node)):
- QMessageBox.information( self,
- tr("Copie impossible a cet endroit",),
- tr("Veuillez selectionner une commande, un parametre, un commentaire ou une macro"))
- return
- indexNoeudOuColler=noeudOuColler.treeParent.children.index(noeudOuColler)
-
- for noeud in self.QWParent.noeud_a_editer :
- if not (isinstance(noeud.treeParent, compojdc.Node)): continue
- indexInTree=noeud.treeParent.children.index(noeud)
- indice = 0
+ listeNoeudsACouper=[]
+ listeIndex=[]
+ listeChild=[]
+ listeItem=[]
+ from InterfaceQT4 import compojdc
+ noeudOuColler=self.node_selected[0]
+ if not (isinstance(noeudOuColler.treeParent, compojdc.Node)):
+ QMessageBox.information( self,
+ tr("Copie impossible a cet endroit",),
+ tr("Veuillez selectionner une commande, un parametre, un commentaire ou une macro"))
+ return
+ indexNoeudOuColler=noeudOuColler.treeParent.children.index(noeudOuColler)
+
+ for noeud in self.QWParent.noeud_a_editer :
+ if not (isinstance(noeud.treeParent, compojdc.Node)): continue
+ indexInTree=noeud.treeParent.children.index(noeud)
+ indice = 0
+ for index in listeIndex:
+ if index < indexInTree : indice = indice +1
+ listeIndex.insert(indice, indexInTree)
+ listeNoeudsACouper.insert(indice, noeud)
+
+ noeudJdc=noeudOuColler.treeParent
+ dejaCrees=0
+ # on les cree a l'envers parcequ'on ajoute a NoeudOuColler
+ listeIndex.reverse()
+ for index in listeIndex:
+ indexTravail=index
+ if indexNoeudOuColler < index:
+ indexTravail=indexTravail+dejaCrees
+ noeudOuColler=noeudJdc.children[indexNoeudOuColler]
+ noeud=noeudJdc.children[indexTravail]
+ child=noeud.doPaste(noeudOuColler)
+ listeChild.append(child)
+ dejaCrees=dejaCrees+1
+
+ self.QWParent.noeud_a_editer = []
+ for i in range(len(listeIndex)):
+ noeud=noeudJdc.children[indexNoeudOuColler+1+i]
+ self.QWParent.noeud_a_editer.append(noeud)
+
+ listeASupprimer=[]
+ if self.QWParent.edit !="couper" : return
+
for index in listeIndex:
- if index < indexInTree : indice = indice +1
- listeIndex.insert(indice, indexInTree)
- listeNoeudsACouper.insert(indice, noeud)
-
- noeudJdc=noeudOuColler.treeParent
- dejaCrees=0
- # on les cree a l'envers parcequ'on ajoute a NoeudOuColler
- listeIndex.reverse()
- for index in listeIndex:
- indexTravail=index
- if indexNoeudOuColler < index:
- indexTravail=indexTravail+dejaCrees
- noeudOuColler=noeudJdc.children[indexNoeudOuColler]
- noeud=noeudJdc.children[indexTravail]
- child=noeud.doPaste(noeudOuColler)
- listeChild.append(child)
- dejaCrees=dejaCrees+1
-
- self.QWParent.noeud_a_editer = []
- for i in range(len(listeIndex)):
- noeud=noeudJdc.children[indexNoeudOuColler+1+i]
- self.QWParent.noeud_a_editer.append(noeud)
-
- listeASupprimer=[]
- if self.QWParent.edit !="couper" : return
-
- for index in listeIndex:
- indexTravail=index
- if indexNoeudOuColler < index:
- indexTravail=indexTravail+(len(listeIndex))
- noeud=noeudJdc.children[indexTravail]
-
- listeItem.append(noeud.item)
- listeASupprimer.append(noeud)
-
- for i in range(len(listeChild)):
- self.tree.item.suppItem(listeItem[i])
- listeChild[i].item.update(listeItem[i])
-
- self.QWParent.noeud_a_editer = []
+ indexTravail=index
+ if indexNoeudOuColler < index:
+ indexTravail=indexTravail+(len(listeIndex))
+ noeud=noeudJdc.children[indexTravail]
+
+ listeItem.append(noeud.item)
+ listeASupprimer.append(noeud)
+
+ for i in range(len(listeChild)):
+ self.tree.item.suppItem(listeItem[i])
+ listeChild[i].item.update(listeItem[i])
+
+ self.QWParent.noeud_a_editer = []
#----------------------------------#
def handleAjoutEtape(self,nomEtape):
#----------------------------------#
- self.chercheNoeudSelectionne()
- if len(self.node_selected) == 0 or self.node_selected[0] == self.tree.racine :
- nodeOuAjouter=self.tree.racine
- nouveau=nodeOuAjouter.appendChild(nomEtape,pos='first')
- else :
- nodeOuAjouter=self.node_selected[0]
- if nodeOuAjouter != self.tree.racine :
- while nodeOuAjouter.treeParent != self.tree.racine:
- nodeOuAjouter=nodeOuAjouter.treeParent
- nouveau=nodeOuAjouter.appendBrother(nomEtape)
- try :
- self.node_selected[0].setSelected(False)
- except : pass
- nouveau.setSelected(True)
- nouveau.affichePanneau()
+ self.chercheNoeudSelectionne()
+ if len(self.node_selected) == 0 or self.node_selected[0] == self.tree.racine :
+ nodeOuAjouter=self.tree.racine
+ nouveau=nodeOuAjouter.appendChild(nomEtape,pos='first')
+ else :
+ nodeOuAjouter=self.node_selected[0]
+ if nodeOuAjouter != self.tree.racine :
+ while nodeOuAjouter.treeParent != self.tree.racine:
+ nodeOuAjouter=nodeOuAjouter.treeParent
+ nouveau=nodeOuAjouter.appendBrother(nomEtape)
+ try :
+ self.node_selected[0].setSelected(False)
+ except : pass
+ nouveau.setSelected(True)
+ nouveau.affichePanneau()
#---------------------------#
def getFileVariable(self) :
#---------------------------#
- titre = tr("Choix d'un fichier XML")
- texte = tr("Le fichier contient une commande MODEL\n")
- texte = texte+tr('Donnez le nom du fichier XML qui contient la description des variables')
- QMessageBox.information( self, titre,tr(texte))
+ titre = tr("Choix d'un fichier XML")
+ texte = tr("Le fichier contient une commande MODEL\n")
+ texte = texte+tr('Donnez le nom du fichier XML qui contient la description des variables')
+ QMessageBox.information( self, titre,tr(texte))
- fichier = QFileDialog.getOpenFileName(self.appliEficas,
- tr('Ouvrir Fichier'),
- self.appliEficas.maConfiguration.savedir,
- tr('Wrapper Files (*.xml);;''All Files (*)'))
- return fichier
+ fichier = QFileDialog.getOpenFileName(self.appliEficas,
+ tr('Ouvrir Fichier'),
+ self.appliEficas.maConfiguration.savedir,
+ tr('Wrapper Files (*.xml);;''All Files (*)'))
+ return fichier
#------------#
def run(self):
#------------#
- fonction="run"+self.code
- if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,)
+ fonction="run"+self.code
+ if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,)
#------------#
def saveRun(self):
#------------#
- fonction="saveRun"+self.code
- if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,)
+ fonction="saveRun"+self.code
+ if fonction in JDCEditor.__dict__: JDCEditor.__dict__[fonction](self,)
# ---------------------------------------------
-# Methodes Non Crees dans ssIHM
+# Methodes Non Crees dans ssIHM
# ---------------------------------------------
#---------------#
def runVP(self):
#---------------#
- texte=self.getTextJDC("MAPVp",pourRun=1)
- print (texte)
+ texte=self.getTextJDC("MAPVp",pourRun=1)
+ print (texte)
#---------------#
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.getTextJDC("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 as e:
- print((traceback.print_exc()))
+ 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.getTextJDC("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 as 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.getTextJDC("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 as e:
- print((traceback.print_exc()))
+ 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.getTextJDC("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 as 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.getTextJDC(self.formatFichierOut)
- 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)
+ #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.getTextJDC(self.formatFichierOut)
+ 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)
#-------------------#
def runCarmelCS(self):
#-------------------#
- try :
- commande="runSession pilotyacsCS.py"
- os.system(commande)
- except Exception as e:
- print((traceback.print_exc()))
+ try :
+ commande="runSession pilotyacsCS.py"
+ os.system(commande)
+ except Exception as e:
+ print((traceback.print_exc()))
#-----------------------------------------------------#
def determineNomFichier(self,path,extension):
#-----------------------------------------------------#
- if self.appliEficas.code in DictExtensions:
- chaine1=DictExtensions[self.appliEficas.code]+" (*."+DictExtensions[self.appliEficas.code]+");;"
- extensions= tr(chaine1+ "All Files (*)")
- else :
- extensions= tr("JDC (*.comm);;" "All Files (*)")
-
- if self.appliEficas.code == "MAP" :
- extensions = extensions + ";; Run (*.input);;"
-
- fn = QFileDialog.getSaveFileName( self,
- tr("sauvegarde"), path,
- extensions,None,
- QFileDialog.DontConfirmOverwrite)
- if fn == None : return (0, None)
- fn=fn[0]
- if fn=='': return (0, None)
-
- ext = QFileInfo(fn).suffix()
- if ext == '': fn+=extension
-
- if QFileInfo(fn).exists():
- msgBox = QMessageBox(self)
- msgBox.setWindowTitle(tr("Sauvegarde du Fichier"))
- msgBox.setText(tr("Le fichier")+ " "+str(fn)+ " " +tr("existe deja"))
- msgBox.addButton(tr("&Ecraser"),0)
- msgBox.addButton(tr("&Abandonner"),1)
- abort=msgBox.exec_()
- if abort == 1 : return (0, "")
- return (1,fn)
+ if self.appliEficas.code in DictExtensions:
+ chaine1=DictExtensions[self.appliEficas.code]+" (*."+DictExtensions[self.appliEficas.code]+");;"
+ extensions= tr(chaine1+ "All Files (*)")
+ else :
+ extensions= tr("JDC (*.comm);;" "All Files (*)")
+
+ if self.appliEficas.code == "MAP" :
+ extensions = extensions + ";; Run (*.input);;"
+
+ fn = QFileDialog.getSaveFileName( self,
+ tr("sauvegarde"), path,
+ extensions,None,
+ QFileDialog.DontConfirmOverwrite)
+ if fn == None : return (0, None)
+ fn=fn[0]
+ if fn=='': return (0, None)
+
+ ext = QFileInfo(fn).suffix()
+ if ext == '': fn+=extension
+
+ if QFileInfo(fn).exists():
+ msgBox = QMessageBox(self)
+ msgBox.setWindowTitle(tr("Sauvegarde du Fichier"))
+ msgBox.setText(tr("Le fichier")+ " "+str(fn)+ " " +tr("existe deja"))
+ msgBox.addButton(tr("&Ecraser"),0)
+ msgBox.addButton(tr("&Abandonner"),1)
+ abort=msgBox.exec_()
+ if abort == 1 : return (0, "")
+ return (1,fn)
#-----------------#
def saveRunMAP(self):
#-----------------#
extension=".input"
if not(self.jdc.isValid()):
- QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
- tr("Un JdC valide est necessaire pour creer un .input")
- )
- return
+ QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
+ tr("Un JdC valide est necessaire pour creer un .input")
+ )
+ return
try :
- composant=self.jdc.etapes[0].nom.lower()[0:-5]
+ composant=self.jdc.etapes[0].nom.lower()[0:-5]
except :
- QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
- tr("Choix du composant obligatoire")
- )
- return
+ QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
+ tr("Choix du composant obligatoire")
+ )
+ return
if hasattr(self.maConfiguration, "savedir"): path=self.maConfiguration.savedir
else : path='C:/'
monNomFichier=""
if self.fichier is not None and self.fichier != "" :
- maBase=str(QFileInfo(self.fichier).baseName())+".input"
- monPath=str(QFileInfo(self.fichier).absolutePath())
- monNomFichier=os.path.join(monPath,maBase)
+ maBase=str(QFileInfo(self.fichier).baseName())+".input"
+ monPath=str(QFileInfo(self.fichier).absolutePath())
+ monNomFichier=os.path.join(monPath,maBase)
elif hasattr(self,'monNomFichierInput'):
monNomFichier=self.monNomFichierInput
for c in monDialog.children():
if isinstance(c,QDialogButtonBox):
- for b in c.children():
- if isinstance(b,QPushButton):
- avant=b.text()
- if avant=="&Open": b.setText("Save")
+ for b in c.children():
+ if isinstance(b,QPushButton):
+ avant=b.text()
+ if avant=="&Open": b.setText("Save")
mesFiltres= "input Map (*.input);;All Files (*)"
monDialog.setNameFilters(mesFiltres)
if monNomFichier!="" : monDialog.selectFile(monNomFichier)
#-----------------------------------------#
try :
#if 1:
- from ajoutGroupe import handleAjoutGroupFiltre
- #print listeGroup
- handleAjoutGroupFiltre(self,listeGroup)
- #print "apres handleAjoutGroupFiltre"
+ from ajoutGroupe import handleAjoutGroupFiltre
+ #print listeGroup
+ handleAjoutGroupFiltre(self,listeGroup)
+ #print "apres handleAjoutGroupFiltre"
except :
#else :
- pass
+ pass
#-----------------------------------------------------------------#
#saveas=True # Pour forcer le nom
self.generator=self.maConfiguration.mesGenerators.plugins[self.formatFichierOut]()
if self.fichierComplet is None or saveas:
- if path is None: path=self.maConfiguration.savedir
- bOK, fn=self.determineNomFichier(path,extension)
- if bOK == 0 : return (0, None)
- if fn == None : return (0, None)
- if fn== '' : return (0, None)
+ if path is None: path=self.maConfiguration.savedir
+ bOK, fn=self.determineNomFichier(path,extension)
+ if bOK == 0 : return (0, None)
+ if fn == None : return (0, None)
+ if fn== '' : return (0, None)
- ulfile = os.path.abspath(fn)
- self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0]
- fn = QDir.toNativeSeparators(fn)
+ ulfile = os.path.abspath(fn)
+ self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0]
+ fn = QDir.toNativeSeparators(fn)
self.fichierComplet = os.path.splitext(fn)[0]+extension
return (0, None) # do nothing if text wasn't changed
if self.appliEficas.code in DictExtensions :
- extension=DictExtensions[self.appliEficas.code]
+ extension=DictExtensions[self.appliEficas.code]
else :
- extension='.comm'
+ extension='.comm'
newName = None
fn = self.fichier
if self.fichier is None or saveas:
- if path is None: path=self.maConfiguration.savedir
- bOK, fn=self.determineNomFichier(path,extension)
- if bOK == 0 : return (0, None)
- if fn == None : return (0, None)
- if fn== '' : return (0, None)
+ if path is None: path=self.maConfiguration.savedir
+ bOK, fn=self.determineNomFichier(path,extension)
+ if bOK == 0 : return (0, None)
+ if fn == None : return (0, None)
+ if fn== '' : return (0, None)
- ulfile = os.path.abspath(fn)
- self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0]
- fn = QDir.toNativeSeparators(fn)
- newName = fn
+ ulfile = os.path.abspath(fn)
+ self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0]
+ fn = QDir.toNativeSeparators(fn)
+ newName = fn
if not (self.writeFile(fn,formatLigne=formatLigne)): return (0, None)
self.fichier = fn
self.modified = False
if self.fileInfo is None or saveas:
- self.fileInfo = QFileInfo(self.fichier)
- self.fileInfo.setCaching(0)
+ self.fileInfo = QFileInfo(self.fichier)
+ self.fileInfo.setCaching(0)
self.lastModified = self.fileInfo.lastModified()
if newName is not None:
- self.appliEficas.addToRecentList(newName)
- self.tree.racine.item.getObject().nom=os.path.basename(newName)
- self.tree.racine.updateNodeLabel()
+ self.appliEficas.addToRecentList(newName)
+ self.tree.racine.item.getObject().nom=os.path.basename(newName)
+ self.tree.racine.updateNodeLabel()
+
-
if self.jdc.cata.modeleMetier:self.jdc.toXml(self.fichier)
if self.jdc.cata.modeleMetier and self.jdc.isValid():
if self.generator != self.XMLgenerator :
- self.XMLgenerator.gener(self.jdc)
- self.XMLgenerator.writeDefault(fn)
+ self.XMLgenerator.gener(self.jdc)
+ self.XMLgenerator.writeDefault(fn)
if self.jdc.isValid() != 0 and hasattr(self.generator, "writeDefault"):
#if hasattr(self.generator, "writeDefault"):
msgBox.addButton(tr("&Annuler"),2)
res=msgBox.exec_()
if res == 0 :
- self.generator.writeDefault(fn)
- return (1, self.fichier)
+ self.generator.writeDefault(fn)
+ return (1, self.fichier)
if res == 2 : return (0, None)
if self.appliEficas.salome : self.appliEficas.close()
else : sys.exit(1)
if self.salome :
- self.appliEficas.addJdcInSalome( self.fichier)
+ self.appliEficas.addJdcInSalome( self.fichier)
self.modified = 0
nouveauTitre=self.titre+" "+str(os.path.basename(self.fichier))
self.appliEficas.setWindowTitle(nouveauTitre)
the name of the saved file
"""
if fileName != None :
- self.fichier = fileName
- return self.saveFile()
+ self.fichier = fileName
+ return self.saveFile()
return self.saveFile(path,1,"beautifie")
CONTEXT.setCurrentStep(etape)
etape.buildIncludeEtape(texte)
if not (etape.text_included_converted) :
- QMessageBox.information( self,
- tr("Impossible d importer le texte"),
- etape.text_included_error)
-
+ QMessageBox.information( self,
+ tr("Impossible d importer le texte"),
+ etape.text_included_error)
+
self.tree.racine.buildChildren()
#-----------------------------------#
# ajoute une etape de JdC a partir d un texte
monItem=itemApres
etape=monItem.item.object
-
+
CONTEXT.setCurrentStep(etape)
try :
- ok=etape.buildIncludeEtape(texte)
+ ok=etape.buildIncludeEtape(texte)
except :
- ok=0
+ ok=0
if not ok :
- QMessageBox.information( self,
- tr("Import texte"),
- tr("Impossible d importer le texte"))
+ QMessageBox.information( self,
+ tr("Import texte"),
+ tr("Impossible d importer le texte"))
self.tree.racine.buildChildren()
return ok
# ajoute une etape de JdC a partir d un texte
CONTEXT.setCurrentStep(etape)
try :
- ok=etape.buildIncludeEtape(texte,doitEtreValide=0)
+ ok=etape.buildIncludeEtape(texte,doitEtreValide=0)
except :
- ok=0
+ ok=0
if not ok :
- QMessageBox.information( self,
- tr("Import texte"),
- tr("Impossible d importer le texte"))
+ QMessageBox.information( self,
+ tr("Import texte"),
+ tr("Impossible d importer le texte"))
self.tree.racine.buildChildren()
return ok
#-----------------------------------------
def initSplitterSizes(self, nbWidget=3):
#-----------------------------------------
- #print ("je passe ds initSplitterSizes", nbWidget)
+ #print ("je passe ds initSplitterSizes", nbWidget)
- if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes3=[1,1550,300]
- #elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300]
- else : self.splitterSizes3=[150,1000,300]
+ if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes3=[1,1550,300]
+ #elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300]
+ else : self.splitterSizes3=[150,1000,300]
- if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes2=[5,1500]
- else : self.splitterSizes2=[300,1000]
+ if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes2=[5,1500]
+ else : self.splitterSizes2=[300,1000]
#-----------------------------------------
def restoreSplitterSizes(self,nbWidget=3):
#----------------------------------------
-
- #traceback.print_stack()
- #print ("je passe ds restoreSplitterSizes")
- if not(hasattr(self,'splitter')) : return
- if nbWidget==2 : newSizes=self.splitterSizes2
- if nbWidget==3 : newSizes=self.splitterSizes3
- #self.inhibeSplitter = 1
- #print (newSizes)
- self.splitter.setSizes(newSizes)
- #self.inhibeSplitter = 0
- QApplication.processEvents()
- # seule la fentetre du milieu est necessaire
- self.splitter.widget(1).resizeEvent=self.saveSplitterSizes
-
+
+ #traceback.print_stack()
+ #print ("je passe ds restoreSplitterSizes")
+ if not(hasattr(self,'splitter')) : return
+ if nbWidget==2 : newSizes=self.splitterSizes2
+ if nbWidget==3 : newSizes=self.splitterSizes3
+ #self.inhibeSplitter = 1
+ #print (newSizes)
+ self.splitter.setSizes(newSizes)
+ #self.inhibeSplitter = 0
+ QApplication.processEvents()
+ # seule la fentetre du milieu est necessaire
+ self.splitter.widget(1).resizeEvent=self.saveSplitterSizes
+
#-----------------------------------------
def saveSplitterSizes(self,event):
#-----------------------------------------
- #print ("je passe ds saveSplitterSizes")
- if self.inhibeSplitter : return
- if self.widgetOptionnel == None : self.splitterSizes2 = self.splitter.sizes()[0:2]
- else : self.splitterSizes3 = self.splitter.sizes()[0:3]
+ #print ("je passe ds saveSplitterSizes")
+ if self.inhibeSplitter : return
+ if self.widgetOptionnel == None : self.splitterSizes2 = self.splitter.sizes()[0:2]
+ else : self.splitterSizes3 = self.splitter.sizes()[0:3]
#------------------------
def fermeOptionnel(self):
#------------------------
- if self.widgetOptionnel == None : return
+ if self.widgetOptionnel == None : return
- self.inhibeSplitter=1
- self.widgetOptionnel.setParent(None)
- self.widgetOptionnel.close()
- self.widgetOptionnel.deleteLater()
- self.widgetOptionnel=None
- self.inhibeSplitter=0
- self.restoreSplitterSizes(2)
+ self.inhibeSplitter=1
+ self.widgetOptionnel.setParent(None)
+ self.widgetOptionnel.close()
+ self.widgetOptionnel.deleteLater()
+ self.widgetOptionnel=None
+ self.inhibeSplitter=0
+ self.restoreSplitterSizes(2)
#------------------------
def ajoutOptionnel(self):
#------------------------
- #if len(self.splitterSizes) == 2 : self.splitterSizes.append(self.oldSizeWidgetOptionnel)
- #else : self.splitterSizes[2] = self.oldSizeWidgetOptionnel # ceinture pour les close bizarres
- #self.splitterSizes[1] = self.splitterSizes[1] - self.splitterSizes[2]
-
- self.restoreSplitterSizes(3)
+ #if len(self.splitterSizes) == 2 : self.splitterSizes.append(self.oldSizeWidgetOptionnel)
+ #else : self.splitterSizes[2] = self.oldSizeWidgetOptionnel # ceinture pour les close bizarres
+ #self.splitterSizes[1] = self.splitterSizes[1] - self.splitterSizes[2]
+
+ self.restoreSplitterSizes(3)
#------------------------
def fermeArbre(self):
#------------------------
- #print (self.widgetTree)
- self.oldWidgetTree=self.widgetTree
- self.widgetTree.hide()
- #self.widgetTree=None
+ #print (self.widgetTree)
+ self.oldWidgetTree=self.widgetTree
+ self.widgetTree.hide()
+ #self.widgetTree=None
#------------------------
def ouvreArbre(self):
#------------------------
- #print ('je passe la')
- #print (self.widgetTree)
- #self.widgetTree=self.oldWidgetTree
- self.widgetTree.show()
- #self.restoreSplitterSizes(3)
+ #print ('je passe la')
+ #print (self.widgetTree)
+ #self.widgetTree=self.oldWidgetTree
+ self.widgetTree.show()
+ #self.restoreSplitterSizes(3)
#-----------------------
def getEtapeCourante(self) :
#-----------------------
- if len(self.tree.selectedItems()) != 1 : return None
- etape=self.tree.selectedItems()[0].item.object.getEtape()
- return etape
+ if len(self.tree.selectedItems()) != 1 : return None
+ etape=self.tree.selectedItems()[0].item.object.getEtape()
+ return etape
#-----------------------------
def getTreeIndex(self,noeud):
#----------------------------
- indexNoeud=-1
- if noeud in noeud.treeParent.children :
- indexNoeud=noeud.treeParent.children.index(noeud)
- else :
- if hasattr(noeud,'vraiParent') :
- noeudVrai = noeud
- noeudVraiParent = noeud.vraiParent
- while noeudVraiParent != noeud.treeParent and hasattr(noeudVraiParent,'vraiParent') :
- noeudVrai = noeudVraiParent
- noeudVraiParent = noeudVraiParent.vraiParent
- pass
- if noeudVraiParent == noeud.treeParent :
- indexNoeud=noeud.treeParent.children.index(noeudVrai)
- pass
- pass
- pass
- return indexNoeud
+ indexNoeud=-1
+ if noeud in noeud.treeParent.children :
+ indexNoeud=noeud.treeParent.children.index(noeud)
+ else :
+ if hasattr(noeud,'vraiParent') :
+ noeudVrai = noeud
+ noeudVraiParent = noeud.vraiParent
+ while noeudVraiParent != noeud.treeParent and hasattr(noeudVraiParent,'vraiParent') :
+ noeudVrai = noeudVraiParent
+ noeudVraiParent = noeudVraiParent.vraiParent
+ pass
+ if noeudVraiParent == noeud.treeParent :
+ indexNoeud=noeud.treeParent.children.index(noeudVrai)
+ pass
+ pass
+ pass
+ return indexNoeud
#-------------------# Pour execution avec output et error dans le bash
def runPSEN(self):
#-------------------#
-
- #if self.modified or self.fichier==None : self.saveFile()
- self.saveFile()
-
- #lancement avec le .bat
- path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN'))
- WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py')
- import subprocess
- p = subprocess.Popen(['python',WrapperFilePath])
- (out,err)=p.communicate()
- print (out)
- print (err)
+
+ #if self.modified or self.fichier==None : self.saveFile()
+ self.saveFile()
+
+ #lancement avec le .bat
+ path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','PSEN_Eficas','PSEN'))
+ WrapperFilePath = os.path.join(path1, 'PSSEWrapper.py')
+ import subprocess
+ p = subprocess.Popen(['python',WrapperFilePath])
+ (out,err)=p.communicate()
+ print (out)
+ print (err)
#-------------------# Pour execution avec output et error dans le bash
def runPSEN_N1(self):
#-------------------#
-
-
- self.saveFile()
- path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs'))
- sys.path.append(path1)
-
- if not(self.jdc.isValid()):
- QMessageBox.information( self, tr( "Unvalid JDC"),tr("incorrect keywords will be ignored"))
- if 'dicoImbrique' in generator.plugins:
- self.generator=generator.plugins['dicoImbrique']()
- jdc_formate=self.generator.gener(self.jdc)
- dico=self.generator.Dico
-
- ###to delete
- #fileDico = r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py'
- fileDico = os.path.join(path1, 'dicoN1.py') #r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py'
- f = open( str(fileDico), 'w')
- f.write("Dico =" + str(dico) )
- f.close()
- ###
-
-
- print ('in runPSEN_N1', dico)
- print (dico)
- from Run import run
- run(dico)
- #res,txt_exception=run(dico)
- #if res : QMessageBox.information( self, tr("fin de script run"), txt_exception)
- #else : QMessageBox.critical( self, tr("Erreur fatale script run"), txt_exception)
-
+
+
+ self.saveFile()
+ path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs'))
+ sys.path.append(path1)
+
+ if not(self.jdc.isValid()):
+ QMessageBox.information( self, tr( "Unvalid JDC"),tr("incorrect keywords will be ignored"))
+ if 'dicoImbrique' in generator.plugins:
+ self.generator=generator.plugins['dicoImbrique']()
+ jdc_formate=self.generator.gener(self.jdc)
+ dico=self.generator.Dico
+
+ ###to delete
+ #fileDico = r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py'
+ fileDico = os.path.join(path1, 'dicoN1.py') #r'C:\Logiciels DER\PSEN_V16\Code\ProcessOutputs_Eficas\TreatOutputs\dicoN1.py'
+ f = open( str(fileDico), 'w')
+ f.write("Dico =" + str(dico) )
+ f.close()
+ ###
+
+
+ print ('in runPSEN_N1', dico)
+ print (dico)
+ from Run import run
+ run(dico)
+ #res,txt_exception=run(dico)
+ #if res : QMessageBox.information( self, tr("fin de script run"), txt_exception)
+ #else : QMessageBox.critical( self, tr("Erreur fatale script run"), txt_exception)
+
#-------------------# Pour execution avec output et error dans le bash
def process_N1(self):
#-------------------#
- path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs'))
- sys.path.append(path1)
+ path1 = os.path.abspath(os.path.join(os.path.abspath(__file__), '../','../','ProcessOutputs_Eficas','TreatOutputs'))
+ sys.path.append(path1)
- if 'dicoImbrique' in generator.plugins:
- self.generator=generator.plugins['dicoImbrique']()
- jdc_formate=self.generator.gener(self.jdc)
- dico=self.getDico() #generator.Dico
+ if 'dicoImbrique' in generator.plugins:
+ self.generator=generator.plugins['dicoImbrique']()
+ jdc_formate=self.generator.gener(self.jdc)
+ dico=self.getDico() #generator.Dico
- for k in dico['CONTINGENCY_PROCESSING']:
- #print (k)
- if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' :
- newK=k.replace('__',' ')
- l="'"+str(newK)+"'"
- dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k]
- del dico['CONTINGENCY_PROCESSING'][k]
+ for k in dico['CONTINGENCY_PROCESSING']:
+ #print (k)
+ if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' :
+ newK=k.replace('__',' ')
+ l="'"+str(newK)+"'"
+ dico['CONTINGENCY_PROCESSING'][l]=dico['CONTINGENCY_PROCESSING'][k]
+ del dico['CONTINGENCY_PROCESSING'][k]
- ###to delete
- fileDico = os.path.join(path1, 'dicoN1_process.py')
- f = open( str(fileDico), 'w')
- f.write("Dico =" + str(dico) )
- f.close()
- ###
- return dico
+ ###to delete
+ fileDico = os.path.join(path1, 'dicoN1_process.py')
+ f = open( str(fileDico), 'w')
+ f.write("Dico =" + str(dico) )
+ f.close()
+ ###
+ return dico
#return self.getDico()
#-------------------# Pour execution avec output et error dans le bash
def process_VP(self):
#-------------------#
- if 'dicoImbrique' in generator.plugins:
- self.generator=generator.plugins['dicoImbrique']()
- jdc_formate=self.generator.gener(self.jdc)
- dico=self.getDico() #generator.Dico
- return dico
+ if 'dicoImbrique' in generator.plugins:
+ self.generator=generator.plugins['dicoImbrique']()
+ jdc_formate=self.generator.gener(self.jdc)
+ dico=self.getDico() #generator.Dico
+ return dico
if __name__ == "__main__":
print ('in main')