Projet

Général

Profil

Bug #1270

Variables inexistantes font planter l'application

Ajouté par Thomas Noël il y a environ 12 ans. Mis à jour il y a plus de 10 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
22 février 2012
Echéance:
% réalisé:

90%

Temps estimé:
Patch proposed:
Planning:

Description

Actuellement quand on utilise [truc] et que la variable "truc" n'existe pas, on a un plantage complet de l'application. Ca se traduit souvent par des mails qui ne sont pas envoyés du tout, avec juste un rapport dans les logs (et un traceback au développeur si c'est mis en place).

Je propose d'étudier un patch qui ferait que quand "truc" n'existe pas, "[truc]" renvoie "[truc]"... sans modification...


Fichiers

wcs-ezt.diff (4,39 ko) wcs-ezt.diff Thomas Noël, 22 février 2012 18:14
ezt-de-wcs.diff (1,73 ko) ezt-de-wcs.diff Thomas Noël, 23 février 2012 10:21

Révisions associées

Révision 6d2b30ff (diff)
Ajouté par Thomas Noël il y a environ 12 ans

ezt: templates do not crash when a variable if not defined - fix #1270

this patch extends r1001 (if-any) :
if 'truc' is not defined [truc] is rendered [truc]

Historique

#1

Mis à jour par Thomas Noël il y a environ 12 ans

Ci-joint un patch à partir de ezt 1.0 (http://code.google.com/p/ezt/).

Rapidement testé sur vincennes, ça marche. Il me reste à comprendre la signification exacte de r786 pour être sûr de mon coup (gestion des htmltext, que j'ai tenté de copier en ligne 317 sans bien savoir comment faire un test).

Note : mon patch ne gère pas les directives include/insertfile, on s'en fiche dans wcs àmha.

#2

Mis à jour par Anonyme il y a environ 12 ans

Tout à fait pour cette modif. Déjà parce que ça parait plus ergonomique pour les admin au moment de mettre en place des nouveaux messages. Mais aussi parce que avoir un message incompréhensible ça sert à rien. Au moins ici tout continue de marcher.

#3

Mis à jour par Thomas Noël il y a environ 12 ans

En restant sur la version de ezt.py actuelle, voici le patch ezt-de-wcs.diff

Comportement si "truc" n'existe pas :

  • [truc] -> [truc]
  • [truc machin] -> [truc machin]
  • ["coucou %0 machin" truc] -> coucou [truc] machin
  • [is truc "bidule"]blabla[end] -> (vide, on considère que le "is" renvoie faux)
  • [for truc]blabla[end] -> (vide, on considère que truc est une liste vide)
Inchangés :
  • [if-any truc]...[end] -> (vide, comme actuellement)
  • [include truc] -> crash (on conserve le comportement actuel, include n'ayant pas vraiment de sens dans wcs)
#4

Mis à jour par Thomas Noël il y a environ 12 ans

  • Statut changé de Nouveau à Solution déployée
  • % réalisé changé de 0 à 90

Appliqué par commit r2273.

#5

Mis à jour par Thomas Noël il y a environ 12 ans

  • Statut changé de Solution déployée à Résolu (à déployer)
#6

Mis à jour par Frédéric Péters il y a plus de 10 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF