Projet

Général

Profil

Bug #60244

Des sources de données mal formée sont acceptés

Ajouté par Benjamin Dauvergne il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
04 janvier 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

Lié à OLAP / Business Intelligence pour Publik - Development #60243: Une champ item peut renvoyer une donnée autre que string pour son champ "text"Fermé04 janvier 2022

Actions

Révisions associées

Révision b4b6a2ad (diff)
Ajouté par Frédéric Péters il y a plus de 2 ans

datasources: skip json entries where text value is not a string (#60244)

Historique

#1

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é
#2

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.

#3

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

#4

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.

#5

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)
#6

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
#7

Mis à jour par Transition automatique il y a environ 2 ans

Automatic expiration

Formats disponibles : Atom PDF