X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=PSEN_Eficas%2FmesScripts_PSEN.py;h=3e79541611943e8fa7f0dc3c14891d830350e98b;hb=9f4ff7ed9afd87c96e11d61e442e39e5511f60d1;hp=a64083aa1caf4aa11edf0725fd79234ff16a25b7;hpb=e57a61fe25c3abf804095d8027afe0dc788877a0;p=tools%2Feficas.git diff --git a/PSEN_Eficas/mesScripts_PSEN.py b/PSEN_Eficas/mesScripts_PSEN.py index a64083aa..3e795416 100644 --- a/PSEN_Eficas/mesScripts_PSEN.py +++ b/PSEN_Eficas/mesScripts_PSEN.py @@ -1,14 +1,95 @@ -def exportToCsv(editor,cmd) : - #from PyQt4.QtGui import QFileDialog - # selection fichier - #fn = QFileDialog.getOpenFileName() - #if not fn : return - #FichieraTraduire=str(fn) - print "je suis la" - print editor - print cmd +def exportToCsv(listeparam) : + texte="" + editor= listeparam[0] + item = listeparam[1] + fn=None + try : + from PyQt4.QtGui import QFileDialog, QMessageBox + fichier = QFileDialog.getOpenFileName() + if fichier == None : return + except : + try : + from PyQt5.QtWidgets import QFileDialog, QMessageBox + fichier = QFileDialog.getOpenFileName() + if fichier[0] == None : return + fichier=fichier[0] + except: + pass -def importFromCsv(editor,cmd) : + nouvelleVal=[] + prob=item.object.get_child('Probability') + valeur=prob.get_valeur() + texte="" + for v in valeur : + texte+=v[0].nom+";"+str(v[1]).replace('.',',')+"\n" + + try : + fn=open(fichier,'wb') + fn.write(texte) + fn.close() + except Exception, why: + QMessageBox.critical(editor, ("Save file failed"), + ('unable to save ')+str(fn) + str(why)) + + +def importFromCsv(listeparam) : + texte="" + editor= listeparam[0] + item = listeparam[1] + node = listeparam[2] + fn=None + try : + from PyQt4.QtGui import QFileDialog + fichier = QFileDialog.getOpenFileName() + if fichier == None : return + fn=open(fichier) + except : + try : + from PyQt5.QtWidgets import QFileDialog + fichier = QFileDialog.getOpenFileName() + if fichier[0] == None : return + fn=open(fichier[0]) + except: + pass + #fn=open('Classeur1.csv') + if not fn : return + nouvelleVal=[] + prob=item.object.get_child('Probability') + monType=prob.definition.validators.typeDesTuples[0] + listeObjet=item.object.etape.parent.get_sd_avant_du_bon_type(item.object.etape,(monType,)) + for ligne in fn.readlines(): + try : + nom,valeur = ligne.split(';') + except : + texte += "not able to process: "+ ligne + continue + if nom not in listeObjet : + texte += nom + " : ignored (not known in Eficas) \n " + continue + try : + concept=item.jdc.get_concept(nom) + except : + texte += nom + ": ignored (not known in Eficas) \n " + continue + try : + valNum=valeur.replace (',','.') + valeur=eval (valNum, {}) + except : + texte += valeur + " : unable to eval \n " + continue + nouvelleVal.append((concept,valeur)) + # exec nom in self.jdc + + if nouvelleVal != [] : prob.set_valeur(nouvelleVal) + if texte != "" : + try : + from PyQt5.QtWidgets import QMessageBox + except : + from PyQt4.QtGui import QMessageBox + QMessageBox.information( None,'unable to append values',texte,) + + node.affichePanneau() + print "et ici" # le dictionnaire des commandes a la structure suivante : @@ -22,7 +103,11 @@ def importFromCsv(editor,cmd) : # - toolTip dict_commandes={ 'N_1_GENERATORS':( - (exportToCsv,"exportToCsv",('editor','self'),False,False,"export values to cvs File"), - (importFromToCsv,"importFromToCsv",('editor','self'),False,False,"import values from cvs File"), + (exportToCsv,"exportToCsv",('editor','item'),False,False,"export values to cvs File"), + (importFromCsv,"importFromCsv",('editor','item','self'),False,False,"import values from cvs File"), + ), + 'N_1_LINES':( + (exportToCsv,"exportToCsv",('editor','item'),False,False,"export values to cvs File"), + (importFromCsv,"importFromCsv",('editor','item','self'),False,False,"import values from cvs File"), ) }