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))
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 ):
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 :
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):
def ouvreLesNoeudsDsLArbre(self):
return
- print "ds ouvreLesNoeudsDsLArbre ", self.item.nom
self.inhibeExpand = True
for i in range(self.childCount()):
self.child(i).inhibeExpand=True
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
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
if __name__=='__main__':
inQt5_1=envQT().inQt5
inQt5_2=envQT().inQt5
- print inQt5_1
+ print (inQt5_1)
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
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:
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):
###
- print 'in runPSEN_N1', dico
+ #print ('in runPSEN_N1', dico)
from Run import run
run(dico)
#res,txt_exception=run(dico)
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)+"'"
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
#-----------------------------------------------------------#
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)
# os.system(commande)
#except :
# pass
- except Exception, e:
+ except Exception as e:
print traceback.print_exc()
#-------------------#
commande="more "
textePython=(commande + self.fichierZcracksInput)
self._viewTextExecute( textePython,"run_zcracks",".sh")
- except Exception, e:
+ except Exception as e:
print traceback.print_exc()
#-------------------#
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:
+ except Exception as e:
print traceback.print_exc()
#-----------------------------------------------------#
#-----------------#
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"
-
-
#-----------------------------------------#
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)
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
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=""
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):
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
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):
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)
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
+++ /dev/null
-# -*- 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)
-
-
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
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 :
i=1
j=len(self.maListeDeValeur)
if j > self.maxI :
- print "poumbadaboum"
+ print ("poumbadaboum")
return
while i < j+1 :
nomBouton="radioButton_"+str(i)
commentaire=" "
if not validite and commentaire is None:
- commentaire = "impossible d'évaluer : %s " %`valeurentree`
+ commentaire = "impossible d'evaluer : %s " %`valeurentree`
return valeur, validite, commentaire
# ----------------------------------------------------------------------------------------
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:
def AjoutValeurs(self,listevaleur,index,listecourante):
listeRetour=[]
- commentaire="Nouvelle valeur acceptée"
+ commentaire="Nouvelle valeur acceptee"
commentaire2=""
valide=1
if listevaleur==None: return
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):
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)
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)
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):
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()
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.
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
try :
o=__import__(nom_cata)
return o
- except Exception,e:
+ except Exception as e:
traceback.print_exc()
return 0
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={}
+++ /dev/null
-# 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<texte>.*)[']")
-# 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
-