Ecriture de messages dans une boîte à outils Python
Lorsqu'un outil est exécuté, ArcPy reconnaît l'application à partir de laquelle il est appelé (ArcMap ou ArcCatalog, par exemple). Vous pouvez alors écrire des messages dans Python et ceux-ci s'affichent automatiquement dans la boîte de dialogue de progression, le résultat de l'outil dans la fenêtre Résultats, et la fenêtre Python. Cela signifie également que tout modèle ou outil de script qui appelle votre outil a accès aux messages que vous écrivez.
Pour en savoir plus sur la messagerie, reportez-vous à la rubrique Fonctionnement des messages dans les outils de script.
Dans une boîte à outils Python, l'objet Messages est utilisé pour ajouter des messages à l'outil.
Méthodes liées aux messages | Description |
---|---|
addMessage(message) | Ajoute un message informatif aux messages de l'outil |
addErrorMessage(message) | Ajoute un message d'erreur aux messages de l'outil Remarque : addErrorMessage ne génère pas d'exception. |
addWarningMessage(message) | Ajoute un message d'avertissement aux messages de l'outil |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | Ajoute un message de tout type à l'aide de codes de message de géotraitement |
addGPMessages() | Ajoute des messages provenant de la dernière exécution de l'outil de géotraitement aux messages de l'outil |
Exemple d'ajout de messages
Dans l'exemple ci-dessous, l'entrée est évaluée, et si elle ne contient pas d'entités en entrée, un message d'erreur est ajoutée à l'outil et une exception arcpy.ExecuteError est déclenchée pour terminer l'outil.
def execute(self, parameters, messages):
input = parameters[0].valueAsText
output = parameters[1].valueAsText
# If the input has no features, add an error message, and raise
# an arcpy.ExecuteError
if int(arcpy.GetCount_management(input).getOutput(0)) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return
Les messages peuvent être ajoutés également à l'aide de fonctions ArcPy telles que AddMessage. Reportez-vous à Présentation des types de messages et de leur gravité pour plus d'informations.