2 # -*- coding: iso-8859-1 -*-
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')
19 def compte_all(texte, subString):
23 trouve = texte.find(subString, start)
24 if trouve == -1: return compte
26 start = trouve + len(subString)
28 def FormateTexte(texte,dico):
29 for clef in 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"
36 if compte_all(texte,texteARemplacer) != 1 :
37 print "impossible de remplacer ",texteARemplacer, "trop d'occurences"
39 remplacement=str(remplacement)
40 texte=texte.replace(texteARemplacer,remplacement)
43 def FormateLigne(texte,nb):
45 remplacement=str(nb)+"%"
46 texte=texte.replace(texteARemplacer,remplacement)
50 texteIni=open(FichierEntete).read()
51 texteRetour=FormateTexte(texteIni,dico)
54 def CreeMaillage(dico):
55 texteIni=open(FichierMaillageEntete).read()
56 texteRetour=FormateTexte(texteIni,dico)
60 texte=open(FichierJob).read()
61 texteRetour=FormateTexte(texte,dico)
64 def CreeGroupeTaille(dico):
65 texte=open(FichierGroupeTaille).read()
66 texteRetour=FormateTexte(texte,dico)
69 def CreeGroupeRatio(dico):
70 texte=open(FichierGroupeRatio).read()
71 texteRetour=FormateTexte(texte,dico)
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
82 texteRetour=FormateTexte(texteIni,dico)
84 finTexte=open(FichierFinTableau).read()
85 texteFinal=texteRetour+finTexte
90 def EcritFichier(texte,filename):
102 def creeDocument(self,monFichier):
103 EcritFichier(self.monTexte,monFichier)
105 def initEntete(self,version, machine):
106 self.dicoEntete["VERSIONTEST"]=version
107 self.dicoEntete["MACHINE"]=machine
108 self.monTexte=CreeEntete(self.dicoEntete)
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
117 def initJob(self,dicoJob):
118 texteMailleur=CreeJob(dicoJob)
119 self.monTexte+=texteMailleur
121 def initMaille(self,dicoMaille,nbEntity):
122 texteMaille=CreeMailleOuGroupe(dicoMaille,nbEntity)
123 self.monTexte+=texteMaille
125 def addNoGroup(self):
126 texteNoGroupe=open(FichierSansGroupe).read()
127 self.monTexte+=texteNoGroupe
129 def CreeGroupeTaille(self,dico):
130 texteGroupeTaille=CreeGroupeTaille(dico)
131 self.monTexte+=texteGroupeTaille
133 def CreeGroupeRatios(self,dico):
134 texteGroupeRatio=CreeGroupeRatio(dico)
135 self.monTexte+=texteGroupeRatio