import sys, traceback
import math
from blocFissure import gmu
-from blocFissure.gmu import initLog
-#initLog.setDebug()
-initLog.setVerbose()
-
-from blocFissure.gmu import geomsmesh
-from blocFissure.gmu.casStandard import casStandard
def fissureGeneraleDlg(context):
# get context study, studyId, salomeGui
from PyQt4.QtGui import QMessageBox
from PyQt4.QtGui import QPalette
from PyQt4.QtGui import QColor
+ from PyQt4.QtCore import QString
from fissureGenerale_ui import Ui_Dialog
class fissureGeneraleDialog(QtGui.QDialog):
def __init__(self):
+ print "__init__"
QtGui.QDialog.__init__(self)
# Set up the user interface from Designer.
self.ui = Ui_Dialog()
self.selectMaillage)
self.connect(self.ui.pb_facefiss, QtCore.SIGNAL("clicked()"),
self.selectFacefiss)
+ self.connect(self.ui.pb_reptrav, QtCore.SIGNAL("clicked()"),
+ self.selectReptrav)
+ self.connect(self.ui.pb_nomres, QtCore.SIGNAL("clicked()"),
+ self.selectNomres)
self.disconnect(self.ui.bb_OkCancel, QtCore.SIGNAL("accepted()"), self.accept)
self.connect(self.ui.bb_OkCancel, QtCore.SIGNAL("accepted()"),
self.execute)
lenSegPipe = 2.5,
nbSegRad = 5,
nbSegCercle = 32,
- areteFaceFissure = 10)
+ areteFaceFissure = 10,
+ reptrav = '.',
+ nomres = 'casStandard_fissure.med')
def initDialog(self, dico):
self.ui.sb_couronnes.setValue(dico['nbSegRad'])
self.ui.sb_secteurs.setValue(dico['nbSegCercle'])
self.ui.dsb_areteFaceFissure.setValue(dico['areteFaceFissure'])
+ self.ui.le_reptrav.setText(os.path.abspath(dico['reptrav']))
+ self.ui.le_nomres.setText(os.path.split(dico['nomres'])[1])
incomplet = self.testval(dico)
pass
#self.initDefaut()
self.initDialog(self.defaut)
+ def setLogVerbosity(self, logfile):
+ from blocFissure.gmu import initLog # le mode de log s'initialise une seule fois
+ print "setLogVerbosity"
+ index = self.ui.cb_log.currentIndex()
+ print index
+ if index == 0:
+ initLog.setRelease(logfile)
+ elif index == 1:
+ initLog.setVerbose(logfile)
+ elif index == 2:
+ initLog.setDebug(logfile)
+
+
def sauver(self):
print "sauver"
fileDiag = QFileDialog(self)
print filedef
self.ui.le_facefiss.setText(filedef)
+ def selectReptrav(self):
+ fileDiag = QFileDialog(self)
+ fileDiag.setFileMode(QFileDialog.Directory)
+ fileDiag.setViewMode(QFileDialog.Detail)
+ fileDiag.setDirectory(self.ui.le_reptrav.text())
+ if fileDiag.exec_() :
+ fileNames = fileDiag.selectedFiles()
+ reptrav = str(fileNames[0])
+ print "reptrav ", reptrav
+ self.ui.le_reptrav.setText(os.path.abspath(reptrav))
+
+
+ def selectNomres(self):
+ fileDiag = QFileDialog(self)
+ fileDiag.setFileMode(QFileDialog.AnyFile)
+ fileDiag.setViewMode(QFileDialog.Detail)
+ nomres=str(os.path.split(str(self.ui.le_nomres.text()))[1])
+ fileDiag.setDirectory(self.ui.le_reptrav.text())
+ fileDiag.selectFile(nomres)
+ fileDiag.setNameFilter("Maillage *.med (*.med)")
+ self.ui.le_nomres.setText(nomres)
+ if fileDiag.exec_() :
+ fileNames = fileDiag.selectedFiles()
+ tempnom = os.path.split(str(fileNames[0]))[1]
+ print "nomres ", tempnom
+ self.ui.le_nomres.setText(tempnom)
+ else:
+ self.ui.le_nomres.setText(nomres)
+
def creeDico(self):
dico = dict(
maillageSain = str(self.ui.le_maillage.text()),
lenSegPipe = self.ui.dsb_lenSegPipe.value(),
nbSegRad = self.ui.sb_couronnes.value(),
nbSegCercle = self.ui.sb_secteurs.value(),
- areteFaceFissure = self.ui.dsb_areteFaceFissure.value()
+ areteFaceFissure = self.ui.dsb_areteFaceFissure.value(),
+ reptrav = str(self.ui.le_reptrav.text()),
+ nomres = str(self.ui.le_nomres.text()),
+ verbosite = self.ui.cb_log.currentIndex()
)
print dico
return dico
return self.NOK
def execute(self):
+ print "execute"
dico = self.creeDico()
NOK = self.testval(dico)
if not(NOK):
self.writeDefault(dico)
self.ui.lb_calcul.show()
- execInstance = casStandard(dico)
+ logfile=os.path.join(dico['reptrav'], dico['nomres']+".log")
+ self.setLogVerbosity(logfile)
+ from blocFissure.gmu import geomsmesh # après intialisation log dans setLogVerbosity
+ from blocFissure.gmu.casStandard import casStandard # après intialisation log dans setLogVerbosity
+ from blocFissure.gmu.fissError import fissError
+ try:
+ execInstance = casStandard(dico)
+ except fissError as erreur:
+ print '-'*60
+ print type(erreur)
+ print '-'*60
+ print erreur.msg
+ print '-'*60
+ for ligne in erreur.pile:
+ print repr(ligne)
+ print '-'*60
+ texte = erreur.msg
+# texte += +"<br>" +'-'*60 +"<br>"
+# for ligne in erreur.pile:
+# texte += repr(ligne) +"<br>"
+ mbox = QMessageBox(self)
+ mbox.setWindowTitle("erreur blocFissure")
+ mbox.setText(QString.fromUtf8(texte))
+ mbox.exec_()
+# except Exception as erreur:
+# print "exception non répertoriée"
self.NOK = NOK
self.accept()
pass
# ----------------------------------------------------------------------------
-
+
+ print "main"
window = fissureGeneraleDialog()
retry = True
while(retry):