2 # -*- coding: iso-8859-1 -*-
7 dir=os.path.dirname(os.path.abspath(__file__))
8 FichierEntete=os.path.join(dir,'templatesHtml/entete.html')
9 FichierMailleur=os.path.join(dir,'templatesHtml/mailleur.html')
10 FichierJob=os.path.join(dir,'templatesHtml/job.html')
11 #FichierJob=os.path.join(dir,'templatesHtml/jobIncomplet.html')
12 FichierTableau=os.path.join(dir,'templatesHtml/tableau.html')
13 FichierLigne=os.path.join(dir,'templatesHtml/ligne.html')
14 FichierFinTableau=os.path.join(dir,'templatesHtml/tableauFin.html')
15 FichierSansGroupe=os.path.join(dir,'templatesHtml/sansGroupe.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):
28 for clef in dico.keys():
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).read()
50 texteRetour=FormateTexte(texteIni,dico)
53 def CreeMailleur(dico):
54 texteIni=open(FichierMailleur).read()
55 texteRetour=FormateTexte(texteIni,dico)
59 texte=open(FichierJob).read()
60 texteRetour=FormateTexte(texte,dico)
63 def CreeMailleOuGroupe(dico,nb):
64 texteIni=open(FichierTableau).read()
66 texteLigneIni=open(FichierLigne).read()
67 for i in range (2,nb+1) :
68 texteLigne=FormateLigne(texteLigneIni,i)
69 texteIni=texteIni+texteLigne
71 texteRetour=FormateTexte(texteIni,dico)
73 finTexte=open(FichierFinTableau).read()
74 texteFinal=texteRetour+finTexte
79 def EcritFichier(texte,filename):
91 def creeDocument(self,monFichier):
92 EcritFichier(self.monTexte,monFichier)
94 def initEntete(self,version, versionRef,machine):
95 self.dicoEntete["VERSIONTEST"]=version
96 self.dicoEntete["VERSIONREF"]=versionRef
97 self.dicoEntete["MACHINE"]=machine
98 self.monTexte=CreeEntete(self.dicoEntete)
100 def initMailleur(self,mailleurName):
102 dicoMailleur["MAILLEUR"]=mailleurName
103 texteMailleur=CreeMailleur(dicoMailleur)
104 self.monTexte+=texteMailleur
106 def initJob(self,dicoJob):
107 texteMailleur=CreeJob(dicoJob)
108 self.monTexte+=texteMailleur
110 def initMaille(self,dicoMaille,nbEntity):
111 texteMaille=CreeMailleOuGroupe(dicoMaille,nbEntity)
112 self.monTexte+=texteMaille
114 def addNoGroup(self):
115 texteNoGroupe=open(FichierSansGroupe).read()
116 self.monTexte+=texteNoGroupe