-#!/usr/bin/env python
-# -*- coding: iso-8859-1 -*-
+#!/usr/bin/env python3
import string
import os
-dir=os.path.dirname(os.path.abspath(__file__))
-FichierEntete=os.path.join(dir,'templatesHtml/entete.html')
-FichierMailleur=os.path.join(dir,'templatesHtml/mailleur.html')
-FichierJob=os.path.join(dir,'templatesHtml/job.html')
-#FichierJob=os.path.join(dir,'templatesHtml/jobIncomplet.html')
-FichierTableau=os.path.join(dir,'templatesHtml/tableau.html')
-FichierLigne=os.path.join(dir,'templatesHtml/ligne.html')
-FichierFinTableau=os.path.join(dir,'templatesHtml/tableauFin.html')
-FichierSansGroupe=os.path.join(dir,'templatesHtml/sansGroupe.html')
+adir=os.path.dirname(os.path.abspath(__file__))
+FichierEntete=os.path.join(adir,'templatesHtml/entete.html')
+FichierMaillageEntete=os.path.join(adir,'templatesHtml/maillageEntete.html')
+FichierJob=os.path.join(adir,'templatesHtml/job.html')
+FichierTableau=os.path.join(adir,'templatesHtml/tableau.html')
+FichierLigne=os.path.join(adir,'templatesHtml/ligne.html')
+FichierFinTableau=os.path.join(adir,'templatesHtml/tableauFin.html')
+FichierSansGroupe=os.path.join(adir,'templatesHtml/sansGroupe.html')
+FichierGroupeRatio=os.path.join(adir,'templatesHtml/groupeRatio.html')
+FichierGroupeTaille=os.path.join(adir,'templatesHtml/groupeTaille.html')
def compte_all(texte, subString):
start = trouve + len(subString)
def FormateTexte(texte,dico):
- for clef in dico.keys():
+ for clef in dico:
texteARemplacer="%"+str(clef)+"%"
remplacement=dico[clef]
if texte.find(texteARemplacer) < 0 :
- print "impossible de remplacer ",texteARemplacer, "Pas d'occurence"
- print remplacement
+ print("impossible de remplacer ",texteARemplacer, "Pas d'occurence")
+ print(remplacement)
continue
if compte_all(texte,texteARemplacer) != 1 :
- print "impossible de remplacer ",texteARemplacer, "trop d'occurences"
+ print("impossible de remplacer ",texteARemplacer, "trop d'occurences")
continue
remplacement=str(remplacement)
texte=texte.replace(texteARemplacer,remplacement)
return texte
def CreeEntete(dico):
- texteIni=open(FichierEntete).read()
+ texteIni=open(FichierEntete, 'r', encoding='utf8').read()
texteRetour=FormateTexte(texteIni,dico)
return texteRetour
-def CreeMailleur(dico):
- texteIni=open(FichierMailleur).read()
+def CreeMaillage(dico):
+ texteIni=open(FichierMaillageEntete, 'r', encoding='utf8').read()
texteRetour=FormateTexte(texteIni,dico)
return texteRetour
def CreeJob(dico):
- texte=open(FichierJob).read()
+ texte=open(FichierJob, 'r', encoding='utf8').read()
+ texteRetour=FormateTexte(texte,dico)
+ return texteRetour
+
+def CreeGroupeTaille(dico):
+ texte=open(FichierGroupeTaille, 'r', encoding='utf8').read()
+ texteRetour=FormateTexte(texte,dico)
+ return texteRetour
+
+def CreeGroupeRatio(dico):
+ texte=open(FichierGroupeRatio, 'r', encoding='utf8').read()
texteRetour=FormateTexte(texte,dico)
return texteRetour
-def CreeMailleOuGroupe(dico,nb):
- texteIni=open(FichierTableau).read()
+def CreeMailleOuGroupe(dico,nb):
+ texteIni=open(FichierTableau, 'r', encoding='utf8').read()
texteLigneIni=open(FichierLigne).read()
for i in range (2,nb+1) :
texteLigne=FormateLigne(texteLigneIni,i)
texteRetour=FormateTexte(texteIni,dico)
- finTexte=open(FichierFinTableau).read()
+ finTexte=open(FichierFinTableau, 'r', encoding='utf8').read()
texteFinal=texteRetour+finTexte
return texteFinal
def EcritFichier(texte,filename):
- fp=open(filename,'w')
- fp.write(texte)
- fp.close()
+ with open(filename,'w',encoding='utf8') as fp:
+ fp.write(texte)
class Document:
def creeDocument(self,monFichier):
EcritFichier(self.monTexte,monFichier)
- def initEntete(self,version, versionRef,machine):
+ def initEntete(self,version, machine):
self.dicoEntete["VERSIONTEST"]=version
- self.dicoEntete["VERSIONREF"]=versionRef
self.dicoEntete["MACHINE"]=machine
self.monTexte=CreeEntete(self.dicoEntete)
- def initMailleur(self,mailleurName):
- dicoMailleur={}
- dicoMailleur["MAILLEUR"]=mailleurName
- texteMailleur=CreeMailleur(dicoMailleur)
- self.monTexte+=texteMailleur
+ def initMaillage(self,maillageName,mailleurName,versionRefName,dicoMaillage):
+ dicoMaillage["MAILLEUR"]=mailleurName
+ dicoMaillage["MAILLAGE"]=maillageName
+ dicoMaillage["VERSIONREF"]=versionRefName
+ texteMaillageEntete=CreeMaillage(dicoMaillage)
+ self.monTexte+=texteMaillageEntete
def initJob(self,dicoJob):
texteMailleur=CreeJob(dicoJob)
texteNoGroupe=open(FichierSansGroupe).read()
self.monTexte+=texteNoGroupe
+ def CreeGroupeTaille(self,dico):
+ texteGroupeTaille=CreeGroupeTaille(dico)
+ self.monTexte+=texteGroupeTaille
+
+ def CreeGroupeRatios(self,dico):
+ texteGroupeRatio=CreeGroupeRatio(dico)
+ self.monTexte+=texteGroupeRatio
#