| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 
 |  
#!/usr/bin/env python
 
import re
import time
import datetime
import logging
 
from logging.handlers import RotatingFileHandler
 
# création de l'objet logger qui va nous servir à écrire dans les logs
logger = logging.getLogger()
# on met le niveau du logger à DEBUG, comme ça il écrit tout
logger.setLevel(logging.DEBUG)
 
# création d'un formateur qui va ajouter le temps, le niveau
# de chaque message quand on écrira un message dans le log
formatter = logging.Formatter('%(asctime)s :: %(levelname)s :: %(message)s')
# création d'un handler qui va rediriger une écriture du log vers
# un fichier en mode 'append', avec 1 backup et une taille max de 1Mo
file_handler = RotatingFileHandler('LogTraitement.log', 'a', 1000000, 1)
# on lui met le niveau sur DEBUG, on lui dit qu'il doit utiliser le formateur
# créé précédement et on ajoute ce handler au logger
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
 
# création d'un second handler qui va rediriger chaque écriture de log
# sur la console
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.DEBUG)
logger.addHandler(stream_handler)
 
nbValeurModified = 0
with open("ListOfFichier.txt","r") as FichierListFichier:
    logger.debug("Début du traitement des fichiers css")
 
    for line in FichierListFichier :
        fileName = line.replace("\n","")
        with open("in/"+fileName,"r") as InCss:
            logger.debug("Début du traitement du fichier - "+ fileName)
            with open("out/"+fileName,"w") as OutCss:
                for line in InCss :
                    if re.compile('[0-9]+px').search(line):
                        print("j'ai trouvé une occurance")
                        listOfPxToModifie = re.findall("([0-9]+)px",line)
                        for i in range(0,len(listOfPxToModifie)):
                            nbValeurModified += 1
                            pxToEm = str(round(int(listOfPxToModifie[i])/12,4))+"em"
                            line = line.replace(listOfPxToModifie[i]+"px",pxToEm)
                            logger.debug(fileName+" :: Modification de la valeur "+listOfPxToModifie[i]+"px en " + pxToEm)
 
                    OutCss.write(line)
 
        logger.debug("Fin du traitement du fichier - "+ fileName)
 
    logger.debug("Fin du traitement des fichier css")
    logger.debug("Nombre de valeur modifier : "+ str(nbValeurModified)) | 
Partager