#! /usr/bin/python # attention: python2!!! # -*- coding: latin-1 -*- # Copyleft www.jchr.be - GPL 2 # version 1.1 - 2006.12.20 # formatage du texte à htmliser. Les structures (tableaux, puces, titres...) nécessitent # souvent un signe supplémentaire et encore une ligne vide # le texte ne doit comporter de "#" en début de ligne que pour les puces numérotées # # *Titre de premier niveau # * # # **Titre de deuxième niveau # ** # # ***Titre de troisième niveau # *** # # Chaque paragraphe est séparé # par une ligne vide # # et {italique} # # "ceci", «cela» et « encore cela » seront entourés de guillemets ouvrant et fermant. # # n'utilisez '[', ']' et '@' que pour les liens: [adresse@textecliquable] # # -début de liste non numérotée # -milieu de liste # -etc. # -fin de liste # - # # #début de liste numérotée (nv 1.1) # #milieu de liste # #etc. # #fin de liste numérotée # # # # -- pour une ligne # # |!première cellule, première rangée (le "!" indique qu'il y aura une bordure - nv 1.1) # |deuxième cellule, première rangée # |troisième cellule, première rangée # | # |première cellule, deuxième rangée # |deuxième cellule, deuxième rangée # |troisième cellule, deuxième rangée # | # # ||cellule double (et centrée; ||| pour triple, |||| pour quadruple - nv 1.1) # |troisième cellule, première rangée # | # |première cellule, deuxième rangée # |deuxième cellule, deuxième rangée # |troisième cellule, deuxième rangée # | import string, os file=raw_input('Nom du fichier à transformer: ') fichier=open(file+'.txt','r') # rajoute l'extension .txt (on peut supprimer cette ligne) str='' for line in fichier: str+=line.strip()+"\n" # enlève les espaces de début et fin de ligne # et rajoute l'octet '\n' de fin de ligne (nv 1.1) str=string.replace(str,'œ','œ') # l'ISO8859-1 ne connaît pas œ ISO889-15 oui. str=string.replace(str,'oe','œ') # l'ISO8859-1 ne connaît pas œ ISO889-15 oui. str=string.replace(str,'<','§&§&§&§') # préparer le gras str=string.replace(str,'>','') str=string.replace(str,'§&§&§&§','') # terminer le gras str=string.replace(str,'{','') # italique str=string.replace(str,'}','') # améliore la ponctuation 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,' ',' ') # GUILLEMETS # fermant str=string.replace(str,'\xa0»','§&§&§&§') # l'octet 160 est le non-sécable str=string.replace(str,' »','§&§&§&§') str=string.replace(str,'»','§&§&§&§') str=string.replace(str,'" ','§&§&§&§ ') # guillemet simple collé au mot str=string.replace(str,'"\n','§&§&§&§\n') # en fin de ligne 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,'§&§&§&§',' »') # ouvrant str=string.replace(str,'«\xa0','§&§&§&§') # l'octet 160 est le non-sécable str=string.replace(str,'« ','§&§&§&§') str=string.replace(str,'«','§&§&§&§') str=string.replace(str,' "',' §&§&§&§') str=string.replace(str,'\n"','\n§&§&§&§') # en début de ligne str=string.replace(str,'§&§&§&§','« ') # H3 str=string.replace(str,'\n***\n\n','\n\n') str=string.replace(str,'\n***','\n

') # H2 str=string.replace(str,'\n**\n\n','

\n\n') str=string.replace(str,'\n**','\n

') # H1 str=string.replace(str,'\n*\n\n','

\n\n') str=string.replace(str,'\n*','\n

') # HR str=string.replace(str,'\n--\n\n','\n
\n') # PUCES str=string.replace(str,'\n-\n\n','\n\n\n') str=string.replace(str,'\n\n-','\n\n
  • \n') str=string.replace(str,'\n-','\n
  • \n') # NUMERO str=string.replace(str,'\n#\n\n','\n
  • \n\n') str=string.replace(str,'\n\n#','\n\n
    1. \n') str=string.replace(str,'\n#','\n
    2. \n') # TABLES str=string.replace(str,'\n|\n\n','\n\n\n') str=string.replace(str,'\n\n||||!','\n\n
      \n') str=string.replace(str,'\n\n||||','\n\n
      \n') str=string.replace(str,'\n\n|||!','\n\n
      \n') str=string.replace(str,'\n\n|||','\n\n
      \n') str=string.replace(str,'\n\n||!','\n\n
      \n') str=string.replace(str,'\n\n||','\n\n
      \n') str=string.replace(str,'\n\n|!','\n\n
      \n') str=string.replace(str,'\n\n|','\n\n
      \n') str=string.replace(str,'\n|\n|','\n
      \n') str=string.replace(str,'\n||||','\n\n') str=string.replace(str,'\n|||','\n\n') str=string.replace(str,'\n||','\n\n') str=string.replace(str,'\n|','\n\n') # PARAGRAPHES str=string.replace(str,'>\n','>§') str=string.replace(str,'\n<','§<') str=string.replace(str,'§\n','§\n

      \n') str=string.replace(str,'\n§','\n

      \n§') str=string.replace(str,'\n\n','\n

      \n') str=string.replace(str,'§<','\n<') str=string.replace(str,'>§','>\n') str=string.replace(str,'[','') str=string.replace(str,']','') #str=string.replace(str,"","") # votre (ou vos) remplacement personnel # habillage final: str=""" """ + str + "\n" fichier=open(file+".htm","w") # ou +".html" fichier.write(str) fichier.close() print str # pour visualiser le fichier sur la console, enlever le '#' de début de ligne