Geoplateforme / sdk-entrepot

SDK Python pour utiliser l'API Entrepôt de la Géoplateforme.
GNU General Public License v3.0
1 stars 0 forks source link

[bug] utilisation de uniqueness_constraint_tags plante si le tag n'existe pas sur l'entitée. #159

Closed LudivineSchlegel closed 1 month ago

LudivineSchlegel commented 2 months ago

Pour les actions de type configuration, processing-execution et offering si l'entité si l'étape du workflow ne contient pas les tags mentionnés dans uniqueness_constraint_tags le programme plante.

Il faudrait que les tags listés dans uniqueness_constraint_tags soient pris en compte uniquement si ils sont présents dans le workflow.

Mémo : sdk_entrepot_gpf/workflow/action/ActionAbstract.py get_filters()

log de l'erreur :

2024-06-27 15:58:06,504 INFO - Création d'une exécution de traitement et complétion de l'entité en sortie...
2024-06-27 15:58:06,504 ERREUR FATALE - Erreur non spécifiée au traitement. Contactez le support
2024-06-27 15:58:06,517 ERREUR - Traceback (most recent call last):
[...]
  File ".../site-packages/sdk_entrepot_gpf/workflow/Workflow.py", line 112, in run_step
    o_action.run(s_use_datastore)
  File ".../site-packages/sdk_entrepot_gpf/workflow/action/ProcessingExecutionAction.py", line 56, in run
    self.__create_processing_execution(datastore)
  File ".../site-packages/sdk_entrepot_gpf/workflow/action/ProcessingExecutionAction.py", line 78, in __create_processing_execution
    o_stored_data = self.find_stored_data(datastore)
  File ".../site-packages/sdk_entrepot_gpf/workflow/action/ProcessingExecutionAction.py", line 203, in find_stored_data
    d_infos, d_tags = ActionAbstract.get_filters("processing_execution", self.definition_dict["body_parameters"]["output"]["stored_data"], self.definition_dict.get("tags", {}))
  File ".../site-packages/sdk_entrepot_gpf/workflow/action/ActionAbstract.py", line 118, in get_filters
    d_tags[s_tag] = tags[s_tag]
KeyError: 'mon_tag'