Bug #38817
docutils plante la transformation rst->html quand il rencontre ?????
0%
Description
Si on a ????? en résultat d'un gabarit de mail, docutils plante lors de conversion en HTML avec une erreur « (SEVERE/4) Unexpected section title or transition. »
Résultat : le courriel envoyé est en texte brut.
Le cas peut se produire si on utilise {{form_details}} et qu'une des valeurs du formulaire est ----- ou ===== ou ????? (ou toute autre succession de ponctuation). Mais ça peut arriver facilement aussi sur un {{form_var_foobar}} isolé sur une ligne.
Il faudrait voir si on peut configurer l'usage de docutils dans wcs/qommon/emails.py pour que le parser rst soit plus laxiste dans ce cas, et laisse passer la ligne comme du texte simple.
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a plus de 4 ans
- Priorité changé de Normal à Bas
J'ai parcouru le code du parser rst de docutils, ça me semble juste impossible.
Je mets en priorité basse car ce n'est pas bloquant. De toute façon on doit éviter d'envoyer des données non contrôlées (éventuellement personnelles) dans les mails.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Fichier 0001-emails-ignore-unexpected-title-overlines-or-transiti.patch 0001-emails-ignore-unexpected-title-overlines-or-transiti.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
(c'est quand même bien peu évident à customiser, docutils)
Alternativement, un plan aurait été de modifier la regex :
pats['nonalphanum7bit'] = '[!-/:-@[-`{-~]'
pour en retirer les points d'interrogation (qui sont dans le range !-/) mais il y a quantité de code exécuté dès le chargement du module qui fait que la regex se trouve immédiatement répétée/compilée/intégrée, et donc pas si facile.
Mis à jour par Thomas Noël il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Congrats, bien joué.
Ta solution est mieux que de juste retirer les "?" de la regex, car on peut très bien imaginer aussi des champs remplis avec des "-----" (ça a même du déjà arriver mais personne ne nous a jamais remonté le soucis, le mail arrivant "quand même" et n'étant pas lu par un robot)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit bbaa2d18bed804947558b3ef3c79eecb2bac08a5 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat Jan 11 11:06:31 2020 +0100 emails: ignore unexpected title overlines or transitions (#38817)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
emails: ignore unexpected title overlines or transitions (#38817)