MTES-MCT / metadata-postgresql

Plume : gestion des métadonnées du patrimoine PostgreSQL
https://mtes-mct.github.io/metadata-postgresql/
GNU Affero General Public License v3.0
0 stars 1 forks source link

Erreur lors d'un calcul de métadonnées sur un groupe contenant des traductions hors mode traduction #153

Closed alhyss closed 8 months ago

alhyss commented 11 months ago

Plume plante (erreur non gérée) lorsque l'utilisateur active la fonctionnalité de calcul des métadonnées sur dct:title lorsque plusieurs traductions du titre avaient auparavant été renseignées, mais que le mode traduction n'est pas actif.

groupe_traductions_hors_mode_traduction

Erreur :

Traceback (most recent call last):
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\plume_ui.py", line 62, in safe_pg_connection
    yield
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\bibli_gene_objets.py", line 900, in action_mObjetQToolButton_ComputeButton_with_safe_pg_connection
    action_mObjetQToolButton_ComputeButton(self, __keyObjet, __valueObjet, beforeAfter)
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\bibli_gene_objets.py", line 927, in action_mObjetQToolButton_ComputeButton
    ret = self.mDicObjetsInstancies.computing_update(__keyObjet, result)
  File "C:\Users/alhyss/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\plume\rdf\widgetsdict.py", line 1300, in computing_update
    k = keys[i]
IndexError: list index out of range

Cette erreur est susceptible de concerner tout groupe de valeur sans bouton plus, à l'exclusion donc des groupes de valeurs dont le bouton plus est masqué, par exemple parce que la métadonnée est en lecture seule. Elle se produit parce que la méthode plume.rdf.widgetkey.GroupOfValuesKey.shrink_expend, qui sert à préparer les clés dans lesquelles seront ensuite insérées les valeurs récupérées côté serveur, renvoie par construction une liste vide en l'absence de bouton plus.

https://github.com/MTES-MCT/metadata-postgresql/blob/8c4163dfa86038277c348867c93d232af768bc60/plume/rdf/widgetkey.py#L3492