From 7a819d10c5ddd2e047bf1c63501b2ce17112813d Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Thu, 9 Feb 2017 17:48:16 +0100 Subject: [PATCH] except and print --- InterfaceQT4/browser.py | 10 +- InterfaceQT4/composimp.py | 11 +- InterfaceQT4/determine.py | 2 +- InterfaceQT4/editor.py | 72 ++---- InterfaceQT4/eficas_go.py | 2 +- InterfaceQT4/feuille.py | 2 +- InterfaceQT4/monChoixCata.py | 3 - InterfaceQT4/monLabelClic.py | 2 +- InterfaceQT4/monSelectValPSEN.py | 39 --- InterfaceQT4/monViewTexte.py | 2 +- InterfaceQT4/monWidgetParam.py | 2 +- InterfaceQT4/monWidgetRadioButton.py | 2 +- InterfaceQT4/politiquesValidation.py | 6 +- InterfaceQT4/qtEficas.py | 12 +- InterfaceQT4/qtSaisie.py | 4 +- InterfaceQT4/readercata.py | 8 +- InterfaceQT4/sauveTELEMAC.py | 372 --------------------------- 17 files changed, 47 insertions(+), 504 deletions(-) delete mode 100644 InterfaceQT4/monSelectValPSEN.py delete mode 100644 InterfaceQT4/sauveTELEMAC.py diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index f70a52f0..6b658514 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -391,7 +391,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() - except Exception,e: + except Exception as e: traceback.print_exc() QMessageBox.critical( self.editor, "TOO BAD",str(e)) @@ -406,7 +406,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.treeParent.build_children() self.treeParent.children[pos].select() self.treeParent.children[pos].affichePanneau() - except Exception,e: + except Exception as e: QMessageBox.critical( self.editor, "Erreur !",str(e)) def addComment( self, after=True ): @@ -532,7 +532,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.tree.inhibeExpand=True obj=self.item.additem(name,index) # emet le signal 'add' - print name if obj is None:obj=0 if obj == 0:return 0 try : @@ -542,9 +541,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): except : child=self.children[index] self.tree.inhibeExpand=False - #print " fin append child" - print child - print child.item.nom + #print (" fin append child") return child def deplace(self): @@ -931,7 +928,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): def ouvreLesNoeudsDsLArbre(self): return - print "ds ouvreLesNoeudsDsLArbre ", self.item.nom self.inhibeExpand = True for i in range(self.childCount()): self.child(i).inhibeExpand=True diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index 6a53e99d..16183763 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -99,8 +99,8 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): from monWidgetSimpTuple3 import MonWidgetSimpTuple3 widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - print "Pas de Tuple de longueur > 3" - print "Prevenir la maintenance " + print ("Pas de Tuple de longueur > 3") + print ("Prevenir la maintenance ") elif self.item.wait_complex(): from monWidgetSimpComplexe import MonWidgetSimpComplexe @@ -162,13 +162,10 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): from monWidgetPlusieursTuple3 import MonWidgetPlusieursTuple3 widget=MonWidgetPlusieursTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - print "Pas de Tuple de longueur > 3" - print "Prevenir la maintenance " + print ("Pas de Tuple de longueur > 3") + print ("Prevenir la maintenance ") elif self.item.has_into(): if self.item.is_list_SansOrdreNiDoublon(): - #print (self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) ) - #print ( not(self.editor.afficheListesPliees) ) - #print (self.editor.afficheListesPliees) if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : from monWidgetPlusieursInto import MonWidgetPlusieursInto diff --git a/InterfaceQT4/determine.py b/InterfaceQT4/determine.py index 6c42fe83..e0cf7e94 100644 --- a/InterfaceQT4/determine.py +++ b/InterfaceQT4/determine.py @@ -21,4 +21,4 @@ monEnvQT5=envQT().inQt5 if __name__=='__main__': inQt5_1=envQT().inQt5 inQt5_2=envQT().inQt5 - print inQt5_1 + print (inQt5_1) diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 7311d9f4..78284c20 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -83,7 +83,7 @@ class JDCEditor(Ui_baseWidget,QWidget): self.salome = self.appliEficas.salome else : self.salome=0 - print "dans JDC pas d appli ????????" + print ("dans JDC pas d appli ????????") # ces attributs sont mis a jour par definitCode appelee par newEditor self.code = self.appliEficas.CONFIGURATION.code @@ -183,12 +183,10 @@ class JDCEditor(Ui_baseWidget,QWidget): self.fileInfo = QFileInfo(self.fichier) self.fileInfo.setCaching(0) if jdc==None : - # try : - if 1: + try : self.jdc = self.readFile(self.fichier) - #except : - else : - print "mauvaise lecture" + except : + print ("mauvaise lecture") else : self.jdc=jdc if self.jdc is not None and units is not None: @@ -245,8 +243,8 @@ class JDCEditor(Ui_baseWidget,QWidget): import subprocess p = subprocess.Popen(['python',WrapperFilePath]) (out,err)=p.communicate() - print out - print err + print (out) + print (err) #-------------------# Pour execution avec output et error dans le bash def runPSEN_N1(self): @@ -273,7 +271,7 @@ class JDCEditor(Ui_baseWidget,QWidget): ### - print 'in runPSEN_N1', dico + #print ('in runPSEN_N1', dico) from Run import run run(dico) #res,txt_exception=run(dico) @@ -295,8 +293,7 @@ class JDCEditor(Ui_baseWidget,QWidget): for k in dico['CONTINGENCY_PROCESSING'].keys(): - print k - + #print (k) if k[0:19] == 'Component_List_For_' or k[0:21] =='Contingency_List_For_' : newK=k.replace('___',' ') l="'"+str(newK)+"'" @@ -894,12 +891,12 @@ class JDCEditor(Ui_baseWidget,QWidget): f.write(txt) f.close() return 1 - except IOError, why: + except IOError as why: if (self.appliEficas.ssIhm == False): QMessageBox.critical(self, tr('Sauvegarde du Fichier'), tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why)) else : - print why + print (why) return 0 #-----------------------------------------------------------# @@ -913,7 +910,7 @@ class JDCEditor(Ui_baseWidget,QWidget): try : jdc_formate=self.generator.gener(self.jdc,format=formatLigne,config=self.appliEficas.CONFIGURATION,appli=self.appliEficas) if pourRun : jdc_formate=self.generator.textePourRun - except ValueError,e: + except ValueError as e: QMessageBox.critical(self, tr("Erreur a la generation"),str(e)) if not self.generator.cr.estvide(): self.affiche_infos(tr("Erreur a la generation"),Qt.red) @@ -991,7 +988,7 @@ class JDCEditor(Ui_baseWidget,QWidget): # os.system(commande) #except : # pass - except Exception, e: + except Exception as e: print traceback.print_exc() #-------------------# @@ -1012,7 +1009,7 @@ class JDCEditor(Ui_baseWidget,QWidget): commande="more " textePython=(commande + self.fichierZcracksInput) self._viewTextExecute( textePython,"run_zcracks",".sh") - except Exception, e: + except Exception as e: print traceback.print_exc() #-------------------# @@ -1036,10 +1033,6 @@ class JDCEditor(Ui_baseWidget,QWidget): 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): @@ -1047,7 +1040,7 @@ class JDCEditor(Ui_baseWidget,QWidget): try : commande="runSession pilotyacsCS.py" os.system(commande) - except Exception, e: + except Exception as e: print traceback.print_exc() #-----------------------------------------------------# @@ -1158,36 +1151,8 @@ class JDCEditor(Ui_baseWidget,QWidget): #-----------------# def saveRunPSEN(self): #-----------------# - print "saveRunPSEN" + #print ("saveRunPSEN") self.saveFile() - return - 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 - - #print generator.plugins.has_key(self.format) - if generator.plugins.has_key(self.format): - # Le generateur existe on l'utilise - self.generator=generator.plugins[self.format]() - try : - self.generator.gener(self.jdc) - self.generator.writeDefault('') - except ValueError,e: - QMessageBox.critical(self, tr("Erreur a la generation"),str(e)) - if not self.generator.cr.estvide(): - self.affiche_infos(tr("Erreur a la generation"),Qt.red) - QMessageBox.critical( self, tr("Erreur a la generation"),tr("EFICAS ne sait pas convertir ce JDC")) - return "" - else: - # Il n'existe pas c'est une erreur - self.affiche_infos(tr("Format %s non reconnu" , self.format),Qt.red) - QMessageBox.critical( self, "Format non reconnu" ,tr("EFICAS ne sait pas convertir le JDC selon le format "+ self.format)) - return "" - #print "HELLO" - - #-----------------------------------------# @@ -1243,7 +1208,6 @@ class JDCEditor(Ui_baseWidget,QWidget): self.fichier = os.path.splitext(fn)[0]+extension - print self.fichier if hasattr(self.generator, "writeLeger"): self.generator.writeLeger(self.fichier,self.jdc,config=self.appliEficas.CONFIGURATION,appli=self.appliEficas) @@ -1426,7 +1390,7 @@ class JDCEditor(Ui_baseWidget,QWidget): ouChercher=etape for mot in listeAvant : ouChercher=ouChercher.get_child(mot,restreint="oui") - if ouChercher ==None : print 'SOUCI'; return + if ouChercher ==None : print ('SOUCI'); return monMC=ouChercher.get_child(MCFils,restreint="oui") if monMC== None : monMC= ouChercher.addentite(MCFils) monMC.definition.into=valeurs @@ -1607,7 +1571,7 @@ class JDCEditor(Ui_baseWidget,QWidget): self.fichierMED=QSfichier from acquiertGroupes import getGroupes erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED) - if erreur != "" : print "a traiter" + if erreur != "" : print ("a traiter") texteComm="COMMENTAIRE(u'Cree - fichier : "+self.fichierMED +" - Nom Maillage : "+self.nomMaillage+"');\nPARAMETRES()\n" texteSources="" texteCond="" @@ -1636,7 +1600,7 @@ class JDCEditor(Ui_baseWidget,QWidget): self.fichierMED=str(QSfichier) from acquiertGroupes import getGroupes erreur,self.listeGroupes,self.nomMaillage=getGroupes(self.fichierMED) - if erreur != "" : print "a traiter" + if erreur != "" : print ("a traiter") #----------------------------- def BoutonSalomePressed(self): diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index 3323ad79..e8093416 100755 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -87,7 +87,7 @@ def lance_eficas_ssIhm_cherche_Groupes(code=None,fichier=None,ssCode=None,versio def lance_eficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=None): monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version) - print monEditeur.jdc.cr + print (monEditeur.jdc.cr) def lance_eficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None,ou=None,cr=False): #print 'lance_eficas_ssIhm_reecrit', fichier diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index 07bd198b..9c1e8fef 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -197,7 +197,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setZoneInfo(self): # info=str(self.nom)+' ' # if self.monSimpDef.get_fr() != None and self.monSimpDef.get_fr() != "": info+=self.monSimpDef.get_sug() +" " - # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggérée : "self.monSimpDef.get_sug() + # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggeree : "self.monSimpDef.get_sug() pass def reaffiche(self): diff --git a/InterfaceQT4/monChoixCata.py b/InterfaceQT4/monChoixCata.py index 39a47a16..c0c89e44 100644 --- a/InterfaceQT4/monChoixCata.py +++ b/InterfaceQT4/monChoixCata.py @@ -32,9 +32,6 @@ from Extensions.i18n import tr class MonChoixCata(Ui_DChoixCata,QDialog): """ - Classe définissant le panel associé aux mots-clés qui demandent - à l'utilisateur de choisir une seule valeur parmi une liste de valeurs - discrètes """ def __init__(self, QWparent, listeCata, title = None): QDialog.__init__(self, QWparent) diff --git a/InterfaceQT4/monLabelClic.py b/InterfaceQT4/monLabelClic.py index 65eb1209..642520ac 100644 --- a/InterfaceQT4/monLabelClic.py +++ b/InterfaceQT4/monLabelClic.py @@ -39,7 +39,7 @@ class MonLabelClic(QLabel) : if isinstance (parent,QFrame): parent=parent.parent() while not( hasattr(parent,'traiteClicSurLabel')) : try : parent=parent.parent() - except : print "pb avec MonLabelClic"; break + except : print ("pb avec MonLabelClic"); break self.parent=parent diff --git a/InterfaceQT4/monSelectValPSEN.py b/InterfaceQT4/monSelectValPSEN.py deleted file mode 100644 index 683df3ac..00000000 --- a/InterfaceQT4/monSelectValPSEN.py +++ /dev/null @@ -1,39 +0,0 @@ -# -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# Modules Python -# Modules Eficas - -from monSelectVal import MonSelectVal - -class MonSelectValPSEN(MonSelectVal): - """ - Classe definissant le panel associe aux mots-cles qui demandent - a l'utilisateur de choisir une seule valeur parmi une liste de valeurs - discretes - """ - def __init__(self,file,parent,name = None,fl = 0): - self.MonSelectVal.__init__(file,parent,name = None,fl = 0): - - def Traitement(self): - liste1=self.textTraite.split(self.separateur) - print liste1 - #self.parent.ajoutNValeur(liste) - - diff --git a/InterfaceQT4/monViewTexte.py b/InterfaceQT4/monViewTexte.py index ee796eb7..357f2299 100644 --- a/InterfaceQT4/monViewTexte.py +++ b/InterfaceQT4/monViewTexte.py @@ -78,7 +78,7 @@ class ViewText(Ui_dView,QDialog): f.write(str(self.view.toPlainText())) f.close() return 1 - except IOError, why: + except IOError as why: QMessageBox.critical(self, tr("Sauvegarder le fichier"), tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why)) return diff --git a/InterfaceQT4/monWidgetParam.py b/InterfaceQT4/monWidgetParam.py index 8da3ba64..1e2f7027 100644 --- a/InterfaceQT4/monWidgetParam.py +++ b/InterfaceQT4/monWidgetParam.py @@ -135,7 +135,7 @@ class MonWidgetParam(QWidget,Ui_WidgetParam,FacultatifOuOptionnel): monTexte=nomString+"="+valString try : exec monTexte in contexte - except (ValueError,TypeError, NameError,RuntimeError,ZeroDivisionError), exc: + except (ValueError,TypeError, NameError,RuntimeError,ZeroDivisionError) as exc: self.LECommentaire.setText(tr("Valeur incorrecte: ")+unicode (exc)) return False except : diff --git a/InterfaceQT4/monWidgetRadioButton.py b/InterfaceQT4/monWidgetRadioButton.py index a0016171..fd6c472f 100644 --- a/InterfaceQT4/monWidgetRadioButton.py +++ b/InterfaceQT4/monWidgetRadioButton.py @@ -66,7 +66,7 @@ class MonWidgetRadioButtonCommun (Feuille): i=1 j=len(self.maListeDeValeur) if j > self.maxI : - print "poumbadaboum" + print ("poumbadaboum") return while i < j+1 : nomBouton="radioButton_"+str(i) diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py index 61ccc15c..5145f551 100644 --- a/InterfaceQT4/politiquesValidation.py +++ b/InterfaceQT4/politiquesValidation.py @@ -50,7 +50,7 @@ class Validation : commentaire=" " if not validite and commentaire is None: - commentaire = "impossible d'évaluer : %s " %`valeurentree` + commentaire = "impossible d'evaluer : %s " %`valeurentree` return valeur, validite, commentaire # ---------------------------------------------------------------------------------------- @@ -91,7 +91,7 @@ class Validation : valeurTexte=self.parent.appliEficas.dict_reels[clefobj][valeur] else : if string.find(str(valeur),'.') == -1 and string.find(str(valeur),'e') == -1 and string.find(str(valeur),'E'): - # aucun '.' n'a été trouvé dans valeur --> on en rajoute un a la fin + # aucun '.' n'a ete trouve dans valeur --> on en rajoute un a la fin if (self.is_param(valeur)): return valeur else: @@ -180,7 +180,7 @@ class PolitiquePlusieurs(Validation): def AjoutValeurs(self,listevaleur,index,listecourante): listeRetour=[] - commentaire="Nouvelle valeur acceptée" + commentaire="Nouvelle valeur acceptee" commentaire2="" valide=1 if listevaleur==None: return diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 9e887d8f..fa00cdd1 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -449,19 +449,19 @@ class Appli(Ui_Eficas,QMainWindow): if Msg == None : self.viewmanager.handleAjoutGroup(listeGroup) else : - print "il faut gerer les erreurs" + print ("il faut gerer les erreurs") def ChercheGrpMaille(self): # Normalement la variable self.salome permet de savoir si on est ou non dans Salome try: - Msg,listeGroup=self.ChercheGrpMailleInSalome() # recherche dans Salomé - #Msg = None; listeGroup = None # recherche manuelle, i.e., sans Salomé si ligne précédente commentée + Msg,listeGroup=self.ChercheGrpMailleInSalome() # recherche dans Salome + #Msg = None; listeGroup = None # recherche manuelle, i.e., sans Salome si ligne precedente commentee except: raise ValueError('Salome non ouvert') if Msg == None : self.viewmanager.handleAjoutGroup(listeGroup) else : - print "il faut gerer les erreurs" + print "(il faut gerer les erreurs") def ChercheGrp(self): @@ -849,7 +849,7 @@ class Appli(Ui_Eficas,QMainWindow): def fileNew(self): try: self.viewmanager.newEditor() - except EficasException, exc: + except EficasException as exc: msg = unicode(exc) if msg != "": QMessageBox.warning(self, tr(u"Erreur"), msg) @@ -870,7 +870,7 @@ class Appli(Ui_Eficas,QMainWindow): def fileOpen(self): try: self.viewmanager.handleOpen() - except EficasException, exc: + except EficasException as exc: msg = unicode(exc) if msg != "": QMessageBox.warning(self, tr(u"Erreur"), msg) diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 0008809f..33a6c1ca 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -33,7 +33,7 @@ else : class SaisieValeur: """ - Classe contenant les méthodes communes aux panels + Classe contenant les methodes communes aux panels permettant de choisir des valeurs """ def __init__(self): @@ -122,7 +122,7 @@ class SaisieSDCO : def LESDCOReturnPressed(self): """ - Lit le nom donné par l'utilisateur au concept de type CO qui doit être + Lit le nom donne par l'utilisateur au concept de type CO qui doit être la valeur du MCS courant et stocke cette valeur """ self.editor.init_modif() diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index dddc0ce9..71681325 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -90,7 +90,7 @@ class READERCATA: elif isinstance(catalogue, types.TupleType): all_cata_list.append(CatalogDescription.create_from_tuple(catalogue)) else: - print "Catalog description cannot be interpreted: ", catalogue + print ("Catalog description cannot be interpreted: ", catalogue) # This filter is only useful for codes that have subcodes (like MAP). # Otherwise, the "code" attribute of the catalog description can (should) be None. @@ -204,7 +204,7 @@ class READERCATA: a=self.appliEficas.CONFIGURATION.dRepMat[self.version_code] except : if self.code == "ASTER" : - print "Probleme avec le repertoire materiau" + print ("Probleme avec le repertoire materiau") a='.' self.appliEficas.CONFIGURATION.rep_mat=a @@ -242,7 +242,7 @@ class READERCATA: try : o=__import__(nom_cata) return o - except Exception,e: + except Exception as e: traceback.print_exc() return 0 @@ -305,7 +305,7 @@ class READERCATA: self.fic_doc=getattr(self.appliEficas.CONFIGURATION,fic_doc ) f=open(self.fic_doc) except: - print "Pas de fichier associe contenant des clefs documentaires" + print ("Pas de fichier associe contenant des clefs documentaires") return dict_clef_docu={} diff --git a/InterfaceQT4/sauveTELEMAC.py b/InterfaceQT4/sauveTELEMAC.py deleted file mode 100644 index 71f9e21f..00000000 --- a/InterfaceQT4/sauveTELEMAC.py +++ /dev/null @@ -1,372 +0,0 @@ -# Copyright (C) 2007-2013 EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -import re, string -from Extensions.i18n import tr -from Accas.A_BLOC import BLOC -from Accas import * - - -from convert_python import PythonParser - -pattern_comment_slash = re.compile(r"^\s*/") -pattern_eta = re.compile(r".*&ETA.*") -pattern_fin = re.compile(r".*&FIN.*") -pattern_blanc = re.compile(r"^ *$") -pattern_OUI = re.compile(r"^ *OUI *") -pattern_oui = re.compile(r"^ *oui *") -pattern_NON = re.compile(r"^ *NON *") -pattern_non = re.compile(r"^ *non *") -pattern_vide = re.compile(r"^ *$") -pattern_texte =re.compile(r"^[\w*'-]+[ *[\w*'-]* *]*[:=] *['](?P.*)[']") -# le pattern texte reconnait -#nom1 nom 2 : ou = chaine entre ' -# avec eventuellement des quotes au milieu par exemple -# TITRE = 'TELEMAC 2D : GOUTTE D''EAU DANS UN BASSIN$' -# m.group("texte") va rendre 'TELEMAC 2D : GOUTTE D''EAU DANS UN BASSIN$' - - -#Si le code n est pas Telemac -try : - from aideAuxConvertisseurs import DicoEficasToCas, ListeSupprimeCasToEficas - from aideAuxConvertisseurs import ListeCalculCasToEficas, DicoAvecMajuscules - from enumDicoTelemac2 import DicoEnumCasEn -except : - pass - -from Extensions import localisation - -from determine import monEnvQT5 - - - -def entryPoint(): - """ - Return a dictionary containing the description needed to load the plugin - """ - return { - 'name' : 'TELEMAC', - 'factory' : TELEMACParser - } - -class TELEMACParser(PythonParser): - """ - This converter works like PythonParser, except that it also initializes all - model variables to None in order to avoid Python syntax errors when loading - a file with a different or inexistent definition of variables. - """ - - def convert(self, outformat, appli=None): - self.dicoInverseFrancais=appli.readercata.dicoInverseFrancais - self.dicoAnglaisFrancais=appli.readercata.dicoAnglaisFrancais - self.dicoFrancaisAnglais=appli.readercata.dicoFrancaisAnglais - self.dicoMC=appli.readercata.dicoMC - self.Ordre_Des_Commandes=appli.readercata.Ordre_Des_Commandes - - - #print self.dicoInverseFrancais - #text = PythonParser.convert(self, outformat, appli) - - text="" - l_lignes = string.split(self.text,'\n') - self.dictSimp={} - lignesATraiter=[] - for ligne in l_lignes : - if pattern_comment_slash.match(ligne) : continue - if pattern_eta.match(ligne) : continue - if pattern_fin.match(ligne) : continue - if pattern_texte.match(ligne) : - lignesATraiter.append(l) - continue - - for l in ligne.split('\t'): - lignesATraiter.append(l) - - for ligne in lignesATraiter : - if pattern_blanc.match(ligne) : continue - ligneInitiale=ligne - - if pattern_texte.match(ligne) : - self.traiteLigneTexte(ligne) - continue - - - ligne=re.sub("'",' ',ligne) - ligne=re.sub(":",'=',ligne) - if ligne.count('=') != 1 : - print "pb avec la ligne " , ligne - continue - - - motsInLigne=string.split(ligne,' ') - listeMotsSimp=() - simp="" - for mot in motsInLigne: - if mot == "" : continue - if mot == "=" : - simp=simp[0:-1] - while simp[-1] == " " : simp=simp[0:-1] - if simp.find('-') > 0 : simp=self.redecoupeSimp(simp) - break - - mot=mot.replace('_','__') - simp=simp+mot[0].upper() +mot[1:].lower()+'_' - valeur=ligne.split('=')[1] - self.dictSimp[simp]=valeur - - - - #print dictSimp - #print self.dicoInverseFrancais - - dicoParMC={} - #print ListeCalculCasToEficas - - print self.dictSimp.keys() - if 'Title' not in self.dictSimp.keys(): - import os - self.dictSimp['Titre']=os.path.basename(self.filename) - - for simp in self.dictSimp.keys(): - if simp in TELEMACParser.__dict__.keys() : apply(TELEMACParser.__dict__[simp],(self,)) - - for simp in self.dictSimp.keys(): - if simp in ListeSupprimeCasToEficas: continue - if simp not in self.dicoInverseFrancais.keys() : - print "************" - print "pb avec ", simp,'------' - print "************" - continue - listeGenea=self.dicoInverseFrancais[simp] - listeGeneaReverse=[] - for (u,v) in listeGenea : - if isinstance(v,BLOC): continue - listeGeneaReverse.append(u) - listeGeneaReverse.reverse() - dicoTravail=dicoParMC - i=0 - #print (listeGeneaReverse[0:-1]) - while i < len(listeGeneaReverse[0:-1]) : - mot=listeGeneaReverse[i] - i=i+1 - if mot not in dicoTravail.keys(): dicoTravail[mot]={} - dicoTravail=dicoTravail[mot] - dicoTravail[simp]=self.dictSimp[simp] - - self.textePy="" - #print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - #print dicoParMC - #print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%" - listeMC=self.tri(dicoParMC.keys()) - for k in listeMC : - #print "----------- traitement de " , k - self.textePy += self.dicoFrancaisAnglais[k] + "(" - self.traiteMC(dicoParMC[k]) - self.textePy += ");\n" - #print "----------- " - - - print self.textePy - return self.textePy - - def traiteLigneTexte(self,ligne): - m=pattern_texte.match(ligne) - valeur=m.group("texte") - ligne=ligne[0:ligne.find(valeur)] - ligne=re.sub("'",' ',ligne) - ligne=re.sub(":",'=',ligne) - motsInLigne=string.split(ligne,' ') - simp="" - for mot in motsInLigne: - if mot == "" : continue - if mot == "=" : - simp=simp[0:-1] - while simp[-1] == " " : simp=simp[0:-1] - if simp.find('-') > 0 : simp=self.redecoupeSimp(simp) - break - - mot=mot.replace('_','__') - simp=simp+mot[0].upper() +mot[1:].lower()+'_' - self.dictSimp[simp]=valeur - - def traiteMC(self,dico) : - for k in dico.keys() : - valeur= dico[k] - if k not in self.dicoMC.keys() : kA=self.dicoFrancaisAnglais[k] - else : kA=k - obj=self.dicoMC[kA] - if isinstance(obj,FACT): self.generFACT(obj,kA,valeur) - elif isinstance(obj,BLOC): self.generBLOC(obj,kA,valeur) - elif isinstance(obj,SIMP): self.generSIMP(obj,kA,valeur) - else : print "%%%%%%%%%%%\n", "pb generation pour", k, obj, "\n%%%%%%%%%%%" - - #print "_____________" - - def generFACT(self,obj,nom,valeur): - if nom in TELEMACParser.__dict__.keys() : - apply(TELEMACParser.__dict__[nom],(self,)) - return - self.textePy += nom + "=_F( " - self.traiteMC(valeur) - self.textePy += '),\n' - - - def generBLOC(self,obj,nom,valeur): - print "BLOC " - print nom - - def generSIMP(self,obj,nom,valeur): - if nom in ("Prescribed_Flowrates", "Prescribed_Velocities", "Prescribed_Elevations" ): return - if obj.max==1 : - if 'TXM' in obj.type : - valeur=str(valeur) - while valeur[-1] == " " : valeur=valeur[0:-1] - while valeur[0] == " " : valeur=valeur[1:] - valeur=valeur[0].upper()+valeur[1:].lower() - valeur=tr(valeur) - try : valeur=eval(valeur,{}) - except : pass - if nom in DicoEnumCasEn.keys(): - try : valeur=DicoEnumCasEn[nom][valeur] - except : pass - if 'Fichier' in obj.type or 'TXM' in obj.type or 'Repertoire' in obj.type : - valeur=str(valeur) - while valeur[-1] == " " : valeur=valeur[0:-1] - while valeur[0] == " " : valeur=valeur[1:] - self.textePy += nom + "= '" + str(valeur) +"' ," - return - if bool in obj.type : - if pattern_OUI.match(valeur) or pattern_oui.match(valeur) : self.textePy += nom + "= True," - if pattern_NON.match(valeur) or pattern_non.match(valeur) : self.textePy += nom + "= False," - return - self.textePy += nom + "=" + str(valeur) +"," - else : - if pattern_vide.match(valeur) : return - while valeur[-1] == " " : valeur=valeur[0:-1] - while valeur[0] == " " : valeur=valeur[1:] - - if ";" in valeur : valeur=valeur.split(';') - elif "," in valeur : valeur=valeur.split(',') - - if valeur == None : return - newVal=[] - for v in valeur : - try : v==eval(v,{}) - except : pass - if nom in DicoEnumCasEn.keys(): - try : v=DicoEnumCasEn[nom][v] - except : pass - newVal.append(v) - self.textePy += nom + "=" + str(newVal) +"," - - - - def tri(self, listeIn): - if len(listeIn) == 1 : return listeIn - if self.Ordre_Des_Commandes == None : return listeIn - #print self.Ordre_Des_Commandes - listeOut=[listeIn[0],] - for kF in listeIn[1:]: - k=str(self.dicoFrancaisAnglais[kF]) - ordreK=self.Ordre_Des_Commandes.index(k) - i=0 - while i < len(listeOut): - ordreI=self.Ordre_Des_Commandes.index(self.dicoFrancaisAnglais[listeOut[i]]) - if ordreK < ordreI : break - i=i+1 - listeOut.insert(i,kF) - return listeOut - - def Processeurs_Paralleles(self): - #YOANN - if self.dictSimp["Processeurs_Paralleles"] == 0 : del self.dictSimp["Processeurs_Paralleles"] - else : self.dictSimp["Parallel_Computation"]="Parallel" - - def decoupeSUPG(self,valeurs,label): - i=0 - for prefixe in ('_U_And_V','_H'): - labelComplet=label+prefixe - self.dictSimp["labelComplet"]=valeurs[i] - i=i+1 - if len(valeurs)==2 : return - for prefixe in ('_K_And_Epsilon','_Tracers'): - labelComplet=label+prefixe - self.dictSimp["labelComplet"]=valeurs[i] - i=i+1 - - def Option_De_Supg(self): - print "ds Option_De_Supg" - self.decoupeSUPG( self.dictSimp["Option_De_Supg"],"Option_De_Supg") - del self.dictSimp["Option_De_Supg"] - - def Forme_De_La_Convection(self): - self.decoupeSUPG( self.dictSimp["Forme_De_La_Convection"],"Forme_De_La_Convection") - del self.dictSimp["Forme_De_La_Convection"] - - def redecoupeSimp(self,simp): - # replace('-','_') uniquement dans les identifiants - while simp.find('-') > 0 : - ind=simp.find('-') - if ind==len(simp)-1 : break - simp=simp[0:ind]+'_'+simp[ind+1].upper()+simp[ind+2:] - return simp - - - - def Liquid_Boundaries(self): - texte_Boundaries="Liquid_Boundaries=( " - premier=0 - if 'Prescribed_Elevations' in self.dictSimp.keys(): - valeurs=self.dictSimp["Prescribed_Elevations"].split(";") - elif 'Cotes_Imposees' in self.dictSimp.keys(): - valeurs=self.dictSimp["Cotes_Imposees"].split(";") - else : valeurs=() - for e in range(len(valeurs)): - if valeurs[e] == "" or valeurs[e] == "\n" : continue - if eval(valeurs[e],{})==0 : continue - if not premier : premier=1 - texte_Boundaries += "_F(Type_Condition = 'Prescribed Elevations',\n" - texte_Boundaries += "Prescribed_Elevations = " + str(valeurs[e]) + "),\n" - - if 'Prescribed_Flowrates' in self.dictSimp.keys(): - valeurs=self.dictSimp["Prescribed_Flowrates"].split(";") - elif 'Debits_Imposes' in self.dictSimp.keys(): - valeurs=self.dictSimp["Debits_Imposes"].split(";") - else : valeurs=() - for e in range(len(valeurs)): - if valeurs[e] == "" or valeurs[e] == "\n" : continue - if eval(valeurs[e],{})==0 : continue - if not premier : premier=1 - texte_Boundaries += "_F(Type_Condition = 'Prescribed Flowrates',\n" - texte_Boundaries += "Prescribed_Flowrates = " + str(valeurs[e]) + "),\n" - - if 'Prescribed_Velocity' in self.dictSimp.keys(): - valeurs=self.dictSimp["Prescribed_Velocity"].split(";") - elif 'Vitesses_Imposees' in self.dictSimp.keys(): - valeurs=self.dictSimp["Vitesses_Imposees"].split(";") - else : valeurs=() - for e in range(len(valeurs)): - if valeurs[e] == "" or valeurs[e] == "\n" : continue - if eval(valeurs[e],{})==0 : continue - if not premier : premier=1 - texte_Boundaries += "_F(Type_Condition = 'Prescribed Velocity',\n" - texte_Boundaries += "Prescribed_Velocity = " + str(valeurs[e]) + "),\n" - if premier : texte_Boundaries +="),\n" - else : texte_Boundaries="" ; print "pb texte_Boundaries " - self.textePy += texte_Boundaries - -- 2.39.2