#! /usr/bin/python3 # Transforme les séquences &xxxx; des anciens fichiers 'html' en lettres accentuées # et insère la balise précisant l'utilisation de la norme iso-8859-1 dans le . # www.jchr.be 2005.06.25 Copyleft www.jchr.be General Public License 2 # révision 2005.11.09 # réécrit en python3 -- 2023.04.15 # voir aussi http://www.jchr.be/python/index.htm # Utilisation sous unix: # - copier le fichier iso.py dans le répertoire contenant les pages à transformer # - ouvrir une console et positionner le chemin du répertoire avec cd chemin # - saisir ./iso.py puis compléter le nom du fichier à transformer # Il est possible d'ajouter une séquence, avec un peu d'à propos (å þ et autres # caractères accentués) ou de les désactiver en plaçant un # devant le remplacement. import string, os # mobilise les fonctions de manipulation de fichiers: open(), close(); et de chaînes: string.*() file =input("Nom du fichier à transformer: ") # file =file+".htm" # évite de devoir préciser l'extension (éventuellement préciser ".html") fichier=open(file,"r") # ouvre le fichier en lecture str=fichier.read() # stocke son contenu dans la variable 'str' fichier.close() # referme le fichier # indique aux navigateurs qu'on travaille avec les caractère accentués iso8859-1 # iso-8859-15 permet également le symbole de l'EUR (aussi €) e-dans-o (aussi œ) ... str=string.replace(str,'','\n') str=string.replace(str,"à","à") str=string.replace(str,"À","À") str=string.replace(str,"â","â") str=string.replace(str,"Â","Â") str=string.replace(str,"ä","ä") str=string.replace(str,"ã","ã") str=string.replace(str,"é","é") str=string.replace(str,"É","É") str=string.replace(str,"è","è") str=string.replace(str,"È","È") # pour Ère et Ève str=string.replace(str,"ê","ê") str=string.replace(str,"Ê","Ê") str=string.replace(str,"ë","ë") str=string.replace(str,"î","î") str=string.replace(str,"Î","Î") str=string.replace(str,"ï","ï") str=string.replace(str,"Ï","Ï") str=string.replace(str,"ô","ô") str=string.replace(str,"Ô","Ô") str=string.replace(str,"ö","ö") str=string.replace(str,"Ö","Ö") str=string.replace(str,"œ","œ") str=string.replace(str,"Œ","Œ") str=string.replace(str,"ù","ù") # en français; uniquement pour "où" str=string.replace(str,"û","û") str=string.replace(str,"ü","ü") str=string.replace(str,"ç","ç") str=string.replace(str,"Ç","Ç") str=string.replace(str,"ñ","ñ") str=string.replace(str,"Ñ","Ñ") # la liste n'est pas complète, cela dépend de la langue utilisée! # GUILLEMETS str=string.replace(str,"« ","« ") # guillemets ouvrant et espace insécable str=string.replace(str,"«","«") # guillemets ouvrant seulement str=string.replace(str," »"," »") # espace insécable et guillemets fermant str=string.replace(str,"»","»") # guillemets fermant seulement str=string.replace(str,"
","
") # en xhtml, les balises uniques doivent être fermées str=string.replace(str,"
","
") # en xhtml, les balises uniques doivent être fermées with open(file,"w") as fd : # ouvre le fichier en écriture fd.write(str) # écrit le contenu # print str # pour visualiser le travail sur la console: enlever le '#' du début de cette ligne