Salome HOME
[PY3] 2to3 results
[modules/smesh.git] / src / Tools / Verima / CreeDocuments / jobHtml.py
1 #!/usr/bin/env python
2 # -*- coding: iso-8859-1 -*-
3
4 import string
5 import os
6
7 dir=os.path.dirname(os.path.abspath(__file__))
8 FichierEntete=os.path.join(dir,'templatesHtml/entete.html')
9 FichierMaillageEntete=os.path.join(dir,'templatesHtml/maillageEntete.html')
10 FichierJob=os.path.join(dir,'templatesHtml/job.html')
11 FichierTableau=os.path.join(dir,'templatesHtml/tableau.html')
12 FichierLigne=os.path.join(dir,'templatesHtml/ligne.html')
13 FichierFinTableau=os.path.join(dir,'templatesHtml/tableauFin.html')
14 FichierSansGroupe=os.path.join(dir,'templatesHtml/sansGroupe.html')
15 FichierGroupeRatio=os.path.join(dir,'templatesHtml/groupeRatio.html')
16 FichierGroupeTaille=os.path.join(dir,'templatesHtml/groupeTaille.html')
17
18
19 def compte_all(texte, subString):
20     start = 0
21     compte=0
22     while True:
23         trouve = texte.find(subString, start)
24         if trouve == -1: return compte
25         compte+=1
26         start = trouve + len(subString)
27
28 def FormateTexte(texte,dico):
29     for clef in list(dico.keys()):
30         texteARemplacer="%"+str(clef)+"%"
31         remplacement=dico[clef]
32         if texte.find(texteARemplacer) < 0 :
33            print("impossible de remplacer ",texteARemplacer, "Pas d'occurence")
34            print(remplacement)
35            continue
36         if compte_all(texte,texteARemplacer) != 1 :
37            print("impossible de remplacer ",texteARemplacer, "trop d'occurences")
38            continue
39         remplacement=str(remplacement)
40         texte=texte.replace(texteARemplacer,remplacement)
41     return texte
42
43 def FormateLigne(texte,nb):
44     texteARemplacer="2%"
45     remplacement=str(nb)+"%"
46     texte=texte.replace(texteARemplacer,remplacement)
47     return texte
48
49 def CreeEntete(dico):
50     texteIni=open(FichierEntete).read()
51     texteRetour=FormateTexte(texteIni,dico)
52     return texteRetour
53
54 def CreeMaillage(dico):
55     texteIni=open(FichierMaillageEntete).read()
56     texteRetour=FormateTexte(texteIni,dico)
57     return texteRetour
58
59 def CreeJob(dico):
60     texte=open(FichierJob).read()
61     texteRetour=FormateTexte(texte,dico)
62     return texteRetour
63
64 def CreeGroupeTaille(dico):
65     texte=open(FichierGroupeTaille).read()
66     texteRetour=FormateTexte(texte,dico)
67     return texteRetour
68
69 def CreeGroupeRatio(dico):
70     texte=open(FichierGroupeRatio).read()
71     texteRetour=FormateTexte(texte,dico)
72     return texteRetour
73
74
75 def CreeMailleOuGroupe(dico,nb):
76     texteIni=open(FichierTableau).read()
77     texteLigneIni=open(FichierLigne).read()
78     for i in range (2,nb+1) :
79         texteLigne=FormateLigne(texteLigneIni,i)
80         texteIni=texteIni+texteLigne
81
82     texteRetour=FormateTexte(texteIni,dico)
83
84     finTexte=open(FichierFinTableau).read()
85     texteFinal=texteRetour+finTexte
86
87     return texteFinal
88
89
90 def EcritFichier(texte,filename):
91     fp=open(filename,'w')
92     fp.write(texte)
93     fp.close()
94     
95
96 class Document:
97
98     def __init__(self):
99       self.monTexte=""
100       self.dicoEntete={}
101
102     def creeDocument(self,monFichier):
103       EcritFichier(self.monTexte,monFichier)
104
105     def initEntete(self,version, machine):
106       self.dicoEntete["VERSIONTEST"]=version
107       self.dicoEntete["MACHINE"]=machine
108       self.monTexte=CreeEntete(self.dicoEntete)
109
110     def initMaillage(self,maillageName,mailleurName,versionRefName,dicoMaillage):
111       dicoMaillage["MAILLEUR"]=mailleurName
112       dicoMaillage["MAILLAGE"]=maillageName
113       dicoMaillage["VERSIONREF"]=versionRefName
114       texteMaillageEntete=CreeMaillage(dicoMaillage)
115       self.monTexte+=texteMaillageEntete
116
117     def initJob(self,dicoJob):
118       texteMailleur=CreeJob(dicoJob)
119       self.monTexte+=texteMailleur
120
121     def initMaille(self,dicoMaille,nbEntity):
122       texteMaille=CreeMailleOuGroupe(dicoMaille,nbEntity)
123       self.monTexte+=texteMaille
124
125     def addNoGroup(self):
126       texteNoGroupe=open(FichierSansGroupe).read()
127       self.monTexte+=texteNoGroupe
128
129     def CreeGroupeTaille(self,dico):
130       texteGroupeTaille=CreeGroupeTaille(dico)
131       self.monTexte+=texteGroupeTaille
132
133     def CreeGroupeRatios(self,dico):
134       texteGroupeRatio=CreeGroupeRatio(dico)
135       self.monTexte+=texteGroupeRatio
136
137 #