6 adir=os.path.dirname(os.path.abspath(__file__))
7 FichierEntete=os.path.join(adir,'templatesHtml/entete.html')
8 FichierMaillageEntete=os.path.join(adir,'templatesHtml/maillageEntete.html')
9 FichierJob=os.path.join(adir,'templatesHtml/job.html')
10 FichierTableau=os.path.join(adir,'templatesHtml/tableau.html')
11 FichierLigne=os.path.join(adir,'templatesHtml/ligne.html')
12 FichierFinTableau=os.path.join(adir,'templatesHtml/tableauFin.html')
13 FichierSansGroupe=os.path.join(adir,'templatesHtml/sansGroupe.html')
14 FichierGroupeRatio=os.path.join(adir,'templatesHtml/groupeRatio.html')
15 FichierGroupeTaille=os.path.join(adir,'templatesHtml/groupeTaille.html')
18 def compte_all(texte, subString):
22 trouve = texte.find(subString, start)
23 if trouve == -1: return compte
25 start = trouve + len(subString)
27 def FormateTexte(texte,dico):
29 texteARemplacer="%"+str(clef)+"%"
30 remplacement=dico[clef]
31 if texte.find(texteARemplacer) < 0 :
32 print("impossible de remplacer ",texteARemplacer, "Pas d'occurence")
35 if compte_all(texte,texteARemplacer) != 1 :
36 print("impossible de remplacer ",texteARemplacer, "trop d'occurences")
38 remplacement=str(remplacement)
39 texte=texte.replace(texteARemplacer,remplacement)
42 def FormateLigne(texte,nb):
44 remplacement=str(nb)+"%"
45 texte=texte.replace(texteARemplacer,remplacement)
49 texteIni=open(FichierEntete, 'r', encoding='utf8').read()
50 texteRetour=FormateTexte(texteIni,dico)
53 def CreeMaillage(dico):
54 texteIni=open(FichierMaillageEntete, 'r', encoding='utf8').read()
55 texteRetour=FormateTexte(texteIni,dico)
59 texte=open(FichierJob, 'r', encoding='utf8').read()
60 texteRetour=FormateTexte(texte,dico)
63 def CreeGroupeTaille(dico):
64 texte=open(FichierGroupeTaille, 'r', encoding='utf8').read()
65 texteRetour=FormateTexte(texte,dico)
68 def CreeGroupeRatio(dico):
69 texte=open(FichierGroupeRatio, 'r', encoding='utf8').read()
70 texteRetour=FormateTexte(texte,dico)
74 def CreeMailleOuGroupe(dico,nb):
75 texteIni=open(FichierTableau, 'r', encoding='utf8').read()
76 texteLigneIni=open(FichierLigne).read()
77 for i in range (2,nb+1) :
78 texteLigne=FormateLigne(texteLigneIni,i)
79 texteIni=texteIni+texteLigne
81 texteRetour=FormateTexte(texteIni,dico)
83 finTexte=open(FichierFinTableau, 'r', encoding='utf8').read()
84 texteFinal=texteRetour+finTexte
89 def EcritFichier(texte,filename):
90 with open(filename,'w',encoding='utf8') as fp:
100 def creeDocument(self,monFichier):
101 EcritFichier(self.monTexte,monFichier)
103 def initEntete(self,version, machine):
104 self.dicoEntete["VERSIONTEST"]=version
105 self.dicoEntete["MACHINE"]=machine
106 self.monTexte=CreeEntete(self.dicoEntete)
108 def initMaillage(self,maillageName,mailleurName,versionRefName,dicoMaillage):
109 dicoMaillage["MAILLEUR"]=mailleurName
110 dicoMaillage["MAILLAGE"]=maillageName
111 dicoMaillage["VERSIONREF"]=versionRefName
112 texteMaillageEntete=CreeMaillage(dicoMaillage)
113 self.monTexte+=texteMaillageEntete
115 def initJob(self,dicoJob):
116 texteMailleur=CreeJob(dicoJob)
117 self.monTexte+=texteMailleur
119 def initMaille(self,dicoMaille,nbEntity):
120 texteMaille=CreeMailleOuGroupe(dicoMaille,nbEntity)
121 self.monTexte+=texteMaille
123 def addNoGroup(self):
124 texteNoGroupe=open(FichierSansGroupe).read()
125 self.monTexte+=texteNoGroupe
127 def CreeGroupeTaille(self,dico):
128 texteGroupeTaille=CreeGroupeTaille(dico)
129 self.monTexte+=texteGroupeTaille
131 def CreeGroupeRatios(self,dico):
132 texteGroupeRatio=CreeGroupeRatio(dico)
133 self.monTexte+=texteGroupeRatio