Hello Abdel et tous,

Merci bien, je suis content que tu te sois senti inspiré. En relisant ton mail, il me semble que tu as bien pigé mon besoin. Il faut absolument que je parvienne à tester ça dans les deux premiers jours de la semaine prochaine, sur un poste à braille, avant mes holidays... En fait, ma "cible" principale, c'est le texte de mails écrits en html et que je préfère, à des fins d'archivage, convertir et garder en texte. c'est pourquoi il ne s'agit pas(ou très rarement) de fichier entier.

Je te redonne des news dès que possible.

J.-F.

Le 06/04/2017 22:47, Abdel a écrit :

Coucou JF,

En complément de la réponse de Math, si j'ai bien sûr bien compris ta demande, je te suggère une solution.

Tu dis :

Je me souviens bien d'un message qui me nargue, et qui parle de Pandoc pour dé-html-iser simplement un document... Je ne suis pas certain malgré tout que ce soit tout à fait ce dont j'aurais besoin.

Ma réponse :

Pandoc pour dé-html-iser un document?

En fait, en matière de conversion de format, pandoc peut te permettre 2 chose sur du HTML :

   1. Convertir le document en un autre format;
   2. Si le fichier html a été généré avec Pandoc, retrouver le code
      du fichier md qui l'a généré, c'est le code que Math t'as envoyé.



Remarque :

Pour la seconde conversion, tu peux même la faire sur des fichiers html qui n'ont pas été générés avec Pandoc, mais le résultat sur le fichier md généré ne permettra pas de reconstruire exactement le document html de base.

Mais en lisant et relisant ton mail, sauf erreur de ma part, on dirait que ces conversions ne sont pas vraiment ce que tu souhaites.

Si j'ai bien compris, tu souhaiterais pouvoir supprimer des balises doubles, comme (p, h1, etc.), ou des balises uniques comme (<br />).

Tu souhaiterais avoir la possibilité de pouvoir décider toi-même quelles seraient les balises que tu souhaiterais enlever, mais garder le texte qu'elles contiennent, dans le cas des balises doubles.

Est-ce bien cela, où suis-je à côté des mes godasses lol?

Si c'est bien cela, au lieu d'utiliser des modules externes à Python, comme le célèbre BeautifulSoup <https://docs.python.org/3/library/html.parser.html>, html.parser <http://apprendre-python.com/page-beautifulsoup-html-parser-python-library-xml> , etc., je t'oriente plutôt vers les regexp, qui font très bien ce travail.

Tu trouveras en PJ, un petit module 6pad++.py, avec une fonction filterHTML, qui s'exécute par le raccourci-clavier CTRL+F10.

Après avoir collé le fichier 6pad++.py dans ton répertoire où se situe l'exécutable de 6pad++, ouvres 6pad++ puis, avec CTRL+O, ouvres un fichier html que tu souhaiterais modifier.

La commande CTRL+F10 génèrera alors, dans le même répertoire, un fichier filterHtml.html, avec les balises <p>, les balises de <h1> à <h6>, ainsi que les balises <br /> qui auront été effacées, en conservant le texte contenu dans les balises doubles bien entendu.

Je t'ai commenté le code, pour que tu puisses voir que grâce aux regexp, tout est faisable, lol !

La regexp compilée rg capture les balises p et h1 à 6 ouvrante et fermantes, mais tu pourras en ajouter si tu veux, selon les besoins, en les mettant dans la ccapture \1, qui est aussi une référence arrière.

rg = re.compile(r'(?:(?i)<(h\d|p)>(.*?)(</\1>))', re.S)

La regexp rg1 matche les balises <br />.

rg1 = re.compile('<br.*>')

La regexp rg2 matche toutes les balises html, sans exception, au cas où on en aurait besoin.

Elle a été mise en commentaire.

#rg2 = re.compile('<[^>]*>')

La regexp rg3 match tous les sauts de lignes, au cas où.

rg3 = re.compile(r'^\r\n', re.M)

Ensuite, viennent les rg.sub, rg1.sub, etc., qui vont exécuter les remplacements...

Teste et dis-moi si c'est bien ce que tu voulais...

Merci à toi.

Bien amicalement,
Abdel.


Le 05/04/2017 à 22:20, Jean-François Colas a écrit :
Hello la ML,

Je me souviens bien d'un message qui me nargue, et qui parle de Pandoc pour dé-html-iser simplement un document... Je ne suis pas certain malgré tout que ce soit tout à fait ce dont j'aurais besoin. Il me faudrait quelque chose capable de traiter tout, OU PARTIE, d'un document.

Existerait-il alors peut-être quelque chose en Python qui pourrait me permettre d'envisager la récupération du contenu des balises, tout en me débarrassant des balises elles-mêmes, afin de faire un dé-html-iseur sans prétention, hormis celle de se glisser dans des utilitaires personnels pour 6Pad? Si malgré tout je pouvais discriminer certaines balises, pour autant que j'y songe rapidement, <br> ou <p> ou peut-être les <h1> à <h6>, mais pas énormément au-delà.

Merci,
J.-F.


Progliste :
Pour se d�sinscrire de la liste : mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.





Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Répondre à