# Langages de définition de contraintes spécifiques Lorsqu’un contrôle spécialisé est nécessaire, des scripts peuvent permettent de définir des contraintes complexes sur des jeux de données, des types d’entité ou des attributs. Par exemple, un contrôle de relations entre attributs ou un contrôle de présence d’attributs en cascade peuvent être assurés par de tels scripts. Deux langages sont exploitables dans Qualigéo : * Python * fme_evaluate ## Code Python Un script Python est exécuté dans FME via le Transformer PythonCaller. La documentation de référence est donc celle du transformer PythonCaller et de la fonction @Python(). Pour consulter l’intégralité de la documentation de l’API, naviguez jusqu’au dossier d’installation de FME et allez à l’emplacement fmeobjects\python\apidoc\index.html. L’accès aux attributs, géométries et systèmes de coordonnées se fait via des objets Python. Les contraintes spécifiques sur les entités écrites en langage Python doivent être définies sous forme de fonctions. ### Spécifications générales Les fonctions Python utilisées pour spécifier des contraintes doivent implémenter deux paramètres "feature" et "params" et retourner deux variables "_error" et "_message". #### Paramètres
nom | type | description |
feature | FMEFeature | Classe Python décrite dans la librairie fmeobjects. $(FME_HOME)/fmeobjects/python/apidoc |
params | array |
Facultatif. Tableau des paramètres passés par l’utilisateur. Ce tableau peut être vide. |
nom | type | description |
_error | int [0|1] | La fonction doit retourner 1 si l’entité est en erreur ou 0 dans le cas inverse. |
_message | string xx |
Si _error=1 la variable _message doit contenir le message d’erreur qui sera associé à l’erreur dans la table "erreur" de la base de contrôle de Qualigéo. Peut être vide. |
nom | type | description |
fmeobjects. FMELogFile() | FMELogFile | Retourne un objet de la classe FMELogfile. Cet objet peut être utilisé pour insérer des messages dans le fichier de log du contrôle Qualigéo. |
fmeobjects. FMELogfile().log(’string’) | Ecrit la chaîne string dans le fichier de log du contrôle Qualigéo. |