Bug #60244
Des sources de données mal formée sont acceptés
0%
Description
Cf. #60243
Une source de donnée renvoyant {"text": ["John", "Doe"]}
est acceptée sans rien normaliser, il faudrait peut-être au minimum faire un item["text"] = str(item["text"])@ après la récupération des données.
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Lié à Development #60243: Une champ item peut renvoyer une donnée autre que string pour son champ "text" ajouté
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Nouveau à En cours
- Assigné à mis à Frédéric Péters
Plutôt dans la suite de ce qui est fait pour un autre cas,
for item in entries: # skip malformed items
zapper les entrées invalides.
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Fichier 0001-datasources-skip-json-entries-where-text-value-is-no.patch 0001-datasources-skip-json-entries-where-text-value-is-no.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Statut changé de Solution proposée à Solution validée
Je valide sans enthousiasme. Pour moi l'avantage du str(item['text'])
c'était que ça montre l'erreur assez clairement, en général ça n'arrive qu'avec une source codée à la main dans un coin (fichier JSON, ou expression python ou web-service) et donc la personne va comprendre facilement vu qu'elle est à l'origine de l'implémentation de la source (peu de béotiens font cela). On pourrait même faire pour vraiment insister
if not isinstance(item['text'], str): item['text'] = _('%s (warning: text attribute is not a string)') % item['text']
Ici ça va juste faire croire que la source est vide est déconne d'une manière inconnue. C'est suffisamment rare (c'est la première fois que je constate ça chez un client, d'une source qu'il a produite) pour que ne pas trop cacher le problème technique sous-jacent il me semble.
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit b4b6a2ada5a037fae132d9443ad397e573b83f80 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Tue Jan 4 19:54:01 2022 +0100 datasources: skip json entries where text value is not a string (#60244)
Mis à jour par Frédéric Péters il y a plus de 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
datasources: skip json entries where text value is not a string (#60244)