Salome HOME
IMP: Verima / New Plugin: Added a plugin for meshers quality testing (work done at...
[modules/smesh.git] / src / Tools / Verima / CreeDocuments / creeHtml.py
1 #!/usr/bin/env python
2 # -*- coding: iso-8859-1 -*-
3
4 import string
5
6 FichierEntete='templatesHtml/entete.html'
7 FichierMailleur='templatesHtml/mailleur.html'
8 FichierJob='templatesHtml/job.html'
9 FichierTableau='templatesHtml/tableau.html'
10 FichierLigne='templatesHtml/ligne.html'
11 FichierFinTableau='templatesHtml/tableauFin.html'
12
13 def compte_all(texte, subString):
14     start = 0
15     compte=0
16     while True:
17         trouve = texte.find(subString, start)
18         if trouve == -1: return compte
19         compte+=1
20         start = trouve + len(subString)
21
22 def FormateTexte(texte,dico):
23     for clef in dico.keys():
24         texteARemplacer="%"+str(clef)+"%"
25         remplacement=dico[clef]
26         if texte.find(texteARemplacer) < 0 :
27            print "impossible de remplacer ",texteARemplacer, "Pas d'occurence"
28            print remplacement
29            continue
30         if compte_all(texte,texteARemplacer) != 1 :
31            print "impossible de remplacer ",texteARemplacer, "trop d'occurences"
32            continue
33         remplacement=str(remplacement)
34         texte=texte.replace(texteARemplacer,remplacement)
35     return texte
36
37 def FormateLigne(texte,nb):
38     texteARemplacer="2%"
39     remplacement=str(nb)+"%"
40     texte=texte.replace(texteARemplacer,remplacement)
41     return texte
42
43 def CreeEntete(dico):
44     texteIni=open(FichierEntete).read()
45     texteRetour=FormateTexte(texteIni,dico)
46     return texteRetour
47
48 def CreeMailleur(dico):
49     texteIni=open(FichierMailleur).read()
50     texteRetour=FormateTexte(texteIni,dico)
51     return texteRetour
52
53 def CreeJob(dico):
54     texte=open(FichierJob).read()
55     texteRetour=FormateTexte(texte,dico)
56     return texteRetour
57
58 def CreeMailleOuGroupe(dico,nb):
59     texteIni=open(FichierTableau).read()
60
61     texteLigneIni=open(FichierLigne).read()
62     for i in range (2,nb+1) :
63         texteLigne=FormateLigne(texteLigneIni,i)
64         texteIni=texteIni+texteLigne
65
66     texteRetour=FormateTexte(texteIni,dico)
67
68     finTexte=open(FichierFinTableau).read()
69     texteFinal=texteRetour+finTexte
70
71     return texteFinal
72
73
74 def EcritFichier(texte,filename):
75     fp=open(filename,'w')
76     fp.write(texte)
77     fp.close()
78     
79
80 if __name__=='__main__':
81      dicoEntete={}
82      dicoEntete["VERSIONTEST"]="V7.2"
83      dicoEntete["VERSIONREF"]="V6.6"
84      dicoEntete["MACHINE"]="dsp111002"
85      monTexte=CreeEntete(dicoEntete)
86
87      dicoMailleur={}
88      dicoMailleur["MAILLEUR"]="GHS3D"
89      texteMailleur=CreeMailleur(dicoMailleur)
90      monTexte+=texteMailleur
91      
92
93      dicoJob={}
94      dicoJob["NOM"]="MASSIF"
95      dicoJob["NBCPU"]="10"
96      dicoJob["REFCPU"]="11"
97      dicoJob["DIFCPU"]="1"
98      dicoJob["DIFREL"]="10%"
99      dicoJob["WARNING"]="WARNING"
100      dicoJob["RMAX"]=6.1
101      dicoJob["RMAXREF"]=5.95
102      dicoJob["WRMAX"]="WARNING"
103      dicoJob["RMOY"]=3.8        
104      dicoJob["RMOYREF"]=3.88
105      dicoJob["WRMOY"]=""
106      dicoJob["R1Q"]=2.84
107      dicoJob["R1QREF"]=2.84
108      dicoJob["RMED"]=3.6
109      dicoJob["RMEDREF"]=3.5
110      dicoJob["R2Q"]=4.91
111      dicoJob["R2QREF"]=4.92
112      dicoJob["TMAX"]=34.5
113      dicoJob["TMAXREF"]=35.5
114      dicoJob["WTMAX"]=""
115      dicoJob["TMOY"]=17.4
116      dicoJob["TMOYREF"]=17.5
117      dicoJob["WTMOY"]=""
118      dicoJob["T1Q"]=8.9
119      dicoJob["T1QREF"]=8.9
120      dicoJob["TMED"]=17.3
121      dicoJob["TMEDREF"]=17.8
122      dicoJob["T2Q"]=26.4
123      dicoJob["T2QREF"]=26.5
124      texteMailleur=CreeJob(dicoJob)
125      monTexte+=texteMailleur
126
127      dico={}
128      dico["TITRE"]="Nombre de Mailles dans le maillage entier"
129      dico["MAIL1"]="Quad_Edge"
130      dico["REF1"]=421
131      dico["NB1"]=422
132      dico["DIF1"]=1
133      dico["REL1"]=0.2
134      dico["WARN1"]=""
135      dico["MAIL2"]="Quad_Triangle"
136      dico["REF2"]=1068
137      dico["NB2"]=1078
138      dico["DIF2"]=8
139      dico["REL2"]=0.9
140      dico["WARN2"]=""
141      dico["MAIL3"]="Quad_Pyramid"
142      dico["NB3"]=5520
143      dico["REF3"]=5484
144      dico["DIF3"]=36
145      dico["REL3"]="0.6"
146      dico["WARN3"]="WARNING"
147      texteMaille=CreeMailleOuGroupe(dico,3)
148      monTexte+=texteMaille
149
150      fichierEssai="letter.html"
151      EcritFichier(monTexte,fichierEssai)
152      exit()
153
154      dico={}
155      dico["TITRE"]="Nombre de Mailles dans le groupe FOND_07"
156      dico["MAIL1"]="Quad_Triangle"
157      dico["REF1"]=12
158      dico["NB1"]=12
159      dico["DIF1"]=0
160      dico["REL1"]=0
161      dico["WARN1"]=""
162      texteMaille=CreeMailleOuGroupe(dico,1)
163      monTexte+=texteMaille
164
165      dico={}
166      dico["TITRE"]="Nombre de Mailles dans le groupe PAROI_07"
167      dico["MAIL1"]="Quad_Triangle"
168      dico["REF1"]=132
169      dico["NB1"]=132
170      dico["DIF1"]=0
171      dico["REL1"]=0
172      dico["WARN1"]=""
173      texteMaille=CreeMailleOuGroupe(dico,1)
174      monTexte+=texteMaille
175
176      dico={}
177      dico["TITRE"]="Nombre de Mailles dans le groupe ROCHE_07"
178      dico["MAIL1"]="Pyramid"
179      dico["REF1"]=2326
180      dico["NB1"]=2330
181      dico["DIF1"]=4
182      dico["REL1"]=0
183      dico["WARN1"]=""
184      texteMaille=CreeMailleOuGroupe(dico,1)
185      monTexte+=texteMaille
186
187      dicoJob={}
188
189      dicoJob={}
190      dicoJob["NOM"]="CUBE"
191      dicoJob["NBCPU"]="1"
192      dicoJob["REFCPU"]="21"
193      dicoJob["DIFCPU"]="1"
194      dicoJob["DIFREL"]="100%"
195      dicoJob["WARNING"]="WARNING"
196      dicoJob["RMAX"]=7
197      dicoJob["RMAXREF"]=6
198      dicoJob["WRMAX"]="WARNING"
199      dicoJob["RMOY"]=2.7        
200      dicoJob["RMOYREF"]=1.8
201      dicoJob["WRMOY"]="WARNING"
202      dicoJob["R1Q"]=1.3
203      dicoJob["R1QREF"]=1.4
204      dicoJob["RMED"]=2.6
205      dicoJob["RMEDREF"]=2.6
206      dicoJob["R2Q"]=3.9
207      dicoJob["R2QREF"]=3.8
208      dicoJob["TMAX"]=4
209      dicoJob["TMAXREF"]=3.5
210      dicoJob["WTMAX"]="WARNING"
211      dicoJob["TMOY"]=1.8
212      dicoJob["TMOYREF"]=1.5
213      dicoJob["WTMOY"]="WARNING"
214      dicoJob["T1Q"]=0.7
215      dicoJob["T1QREF"]=0.7
216      dicoJob["TMED"]=1.9
217      dicoJob["TMEDREF"]=2
218      dicoJob["T2Q"]=3.1
219      dicoJob["T2QREF"]=3.2
220      texteMailleur=CreeJob(dicoJob)
221      monTexte+=texteMailleur
222
223      dico={}
224      dico["TITRE"]="Nombre de Mailles dans le maillage entier"
225      dico["MAIL1"]="Edge"
226      dico["REF1"]=12
227      dico["NB1"]=13
228      dico["DIF1"]=1
229      dico["REL1"]="8.3%"
230      dico["WARN1"]="WARNING"
231      dico["MAIL2"]="Triangle"
232      dico["REF2"]=24
233      dico["NB2"]=24
234      dico["DIF2"]=0
235      dico["REL2"]="0%"
236      dico["WARN2"]=""
237      dico["MAIL3"]="Pyramid"
238      dico["NB3"]=4
239      dico["REF3"]=5
240      dico["DIF3"]=1
241      dico["REL3"]="25%"
242      dico["WARN3"]="WARNING"
243      texteMaille=CreeMailleOuGroupe(dico,3)
244      monTexte+=texteMaille
245
246      dico={}
247      dico["TITRE"]="Nombre de Mailles dans le groupe SURFACE"
248      dico["MAIL1"]="Edge"
249      dico["REF1"]=12
250      dico["NB1"]=13
251      dico["DIF1"]=1
252      dico["REL1"]="8.3%"
253      dico["WARN1"]="WARNING"
254      dico["MAIL2"]="Triangle"
255      dico["REF2"]=24
256      dico["NB2"]=24
257      dico["DIF2"]=0
258      dico["REL2"]="0%"
259      dico["WARN2"]=""
260      texteMaille=CreeMailleOuGroupe(dico,2)
261      monTexte+=texteMaille
262
263      fichierEssai="/tmp/letter.html"
264      EcritFichier(monTexte,fichierEssai)
265