]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
PN pour homard
authoreficas <>
Fri, 15 Apr 2005 09:31:42 +0000 (09:31 +0000)
committereficas <>
Fri, 15 Apr 2005 09:31:42 +0000 (09:31 +0000)
Editeur/eficas_test.py

index b66e1c287ba85c76be16d999298378d3dd93a474..47f091fa0eaab55a1da3d854f92aacc897dd7be1 100644 (file)
@@ -44,3 +44,55 @@ def lance_eficas(code,fichier=None):
     print bureau.JDC.report()
     bureau.closeJDC()
 
+def duplique_fichier(code,fichier=None,root=None):
+    print code
+    print fichier
+    if root == None :
+       root = Tkinter.Tk()
+    import eficas
+    import convert
+    import generator
+    import utils
+    import string
+
+    appli=eficas.EFICAS(root,code=code,fichier = fichier,test=1)
+    format='homard'
+    if convert.plugins.has_key(format):
+       p=convert.plugins[format]()
+       p.readfile(fichier)
+       text=p.convert('exec',appli)
+       text2=convertir(text)
+       cata=appli.readercata.cata
+       J=cata[0].JdC(procedure=text2,cata=cata)
+       J.analyse()
+       fileName=fichier+"_init"
+       if generator.plugins.has_key(format):
+          g=generator.plugins[format]()
+          jdc_formate=g.gener(J,format='beautifie')
+          print jdc_formate
+          jdc_fini = string.replace(jdc_formate,'\r\n','\n')
+          print jdc_fini
+          utils.save_in_file(fileName+".comm",jdc_fini)
+
+def convertir(texte):
+    import re
+    dict_change={"FICHIER_MED_MAILLAGE_N=":"FICHIER_MED_MAILLAGE_NP1","NOM_MED_MAILLAGE_N=":"NOM_MED_MAILLAGE_NP1"}
+    for mot in dict_change.keys():
+        if( re.search(mot,texte)):
+          indicenouveau=re.search(mot,texte).end()
+          indicefinnouveau= texte.find(",",indicenouveau)
+          avant=dict_change[mot]
+          if( re.search(avant,texte)):
+             indiceancien=re.search(avant,texte).end()+1
+             indicefinancien= texte.find(",",indiceancien)
+             valeur=texte[indiceancien:indicefinancien]
+             texte=texte[0:indicenouveau]+valeur+texte[indicefinnouveau:]
+    liste_mot_clef_None=['CRIT_RAFF_ABS','CRIT_RAFF_REL','CRIT_RAFF_PE','CRIT_DERA_ABS','CRIT_DERA_REL','CRIT_DERA_PE','NITER','NOM_MED_MAILLAGE_NP1','FICHIER_MED_MAILLAGE_NP1']
+
+    for mot in liste_mot_clef_None:
+        if( re.search(mot,texte)):
+           indice=re.search(mot,texte).end()+1
+           indicefin= texte.find(",",indice)
+           texte=texte[0:indice]+"None"+texte[indicefin:]
+    return texte
+