Projet

Général

Profil

Development #57566

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

Cf. #57490

Si un champ carte est vide, l'inspecteur va faire @getitem(lon/lat)@ ou @getattr(None, 'lon'/'lat')@ sur un LaziFieldVarMap qui va taper dans LazyFieldVarComplex.__getitem__ qui va exécuter le code suivant :
<pre>
def __getitem__(self, key):
try:
return super().__getitem__(key)
except KeyError:
pass
structured_value = self.get_field_var_value()
if not structured_value:
raise KeyError(key) <- on finit ici, structured_value == None pour un champ map non initialisé
</pre>

Je vois deux possibilité, surcharger lat/lon pour renvoyer None sur LazyFieldVarMap ou alors ne pas renvoyer lat/lon dans LazyFieldVarMap.inspect_keys() sur self._data.get(self._field.id) est None (et peut-être aussi ne pas planter la vue inspect sur une KeyError lors de de la génération de la vue des variables de substition applaties, juste logger une erreur pour sentry (sic)).

Retour