Aller au contenu

sdk_entrepot_gpf.workflow#

Workflow(name, raw_dict) #

Cette classe permet de décrire et de lancer un workflow.

Un workflow est une suite de création d'entités (exécution de traitement, configuration et offre) permettant de traiter puis de publier des données via la Géoplateforme.

Chaque création d'entité est représentée par la classe Action.

Attributes:

Name Type Description
__name str

Nom du workflow

__raw_definition_dict dict

Définition du workflow

La classe est instanciée à partir d'un nom et d'une représentation du workflow.

La représentation du workflow peut provenir par exemple d'un fichier JSON.

Parameters:

Name Type Description Default
name str)

Nom du workflow

required
raw_dict dict

Workflow non résolu

required

generate(workflow_context, definition_dict, parent_action=None, behavior=None) staticmethod #

Génération de la bonne action selon le type indiqué dans la représentation du workflow.

Parameters:

Name Type Description Default
workflow_context str

nom du context du workflow

required
definition_dict Dict[str, Any]

dictionnaire définissant l'action

required
parent_action Optional[ActionAbstract]

action précédente (si étape à plusieurs action). Defaults to None.

None
behavior Optional[str]

comportement à adopter si l'entité créée par l'action existe déjà sur l'entrepôt. Defaults to None.

None

Returns:

Type Description
ActionAbstract

instance permettant de lancer l'action

get_action(step_name, number) #

Instancie l'action de l'étape demandée.

Parameters:

Name Type Description Default
step_name str

nom de l'étape

required
number int

numéro de l'action (0 pour la première)

required

Returns:

Type Description
ActionAbstract

action demandée

get_actions(step_name) #

Instancie les actions de l'étape demandée et en renvoie la liste.

Parameters:

Name Type Description Default
step_name str

nom de l'étape

required

Returns:

Type Description
List[ActionAbstract]

liste des actions de l'étape

get_all_steps() #

Retourne la liste des différentes étapes et de leurs parents.

Returns:

Type Description
List[str]

liste des étapes (et des parents)

get_raw_dict() #

Renvoie le dictionnaire de définition du workflow.

Returns:

Type Description
Dict[str, Any]

le dictionnaire de définition du workflow

open_workflow(workflow_path, workflow_name=None) staticmethod #

Instancie un Workflow en vérifiant le schéma fourni.

Parameters:

Name Type Description Default
workflow_path Path

chemin vers le fichier de workflow.

required
workflow_name Optional[str]

nom du workflow, si None, le nom du fichier est utilisé. Defaults to None.

None

Returns:

Type Description
Workflow

workflow instancié

run_step(step_name, callback=None, ctrl_c_action=None, behavior=None, datastore=None, comments=[], tags={}) #

Lance une étape du workflow à partir de son nom. Liste les entités créées par chaque action et retourne la liste.

Parameters:

Name Type Description Default
step_name str

nom de l'étape

required
callback Optional[Callable[[ProcessingExecution], None]]

callback de suivi si création d'une exécution de traitement.

None
ctrl_c_action Optional[Callable[[], bool]]

gestion du ctrl-C lors d'une exécution de traitement.

None
behavior Optional[str]

comportement à adopter si une entité existe déjà sur l'entrepôt.

None
datastore Optional[str]

id du datastore à utiliser. Si None, le datastore sera le premier trouvé dans l'action puis dans workflow puis dans configuration.

None
comments Optional[List[str]]

liste des commentaires à rajouter à toute les actions de l'étape (les cas de doublons sont gérés).

[]
tags Optional[Dict[str, str]]

dictionnaire des tags à rajouter pour toutes les actions de l'étape. Écrasé par ceux du workflow, de l'étape et de l'action si les clefs sont les mêmes.

{}

Raises:

Type Description
WorkflowError

levée si un problème apparaît pendant l'exécution du workflow

Returns:

Type Description
List[StoreEntity]

List[StoreEntity]: liste des entités créées

validate() #

Valide le workflow en s'assurant qu'il est cohérent. Retourne la liste des erreurs trouvées.

Returns:

Type Description
List[str]

liste des erreurs trouvées