Escribir mensajes en una caja de herramientas Python
Cuando se ejecuta una herramienta, ArcPy está completamente al tanto de la aplicación que la invoca, como ArcMap o ArcCatalog. Un efecto principal de esto es que puede escribir mensajes en Python y sus mensajes aparecen automáticamente en el cuadro de diálogo de progreso, en el resultado de la herramienta en la ventana Resultados y la ventana Python. También significa que cualquier modelo o herramienta de secuencia de comandos que invoque la herramienta tiene acceso a los mensajes que usted escribe.
Para obtener más información sobre la mensajería, consulte Entender el envío de mensajes en las herramientas de secuencia de comandos.
En una caja de herramientas Python, un objeto de mensajes se utiliza para agregar mensajes adicionales de nuevo a la herramienta.
Métodos de mensaje | Descripción |
---|---|
addMessage(message) | Agrega un mensaje informativo a los mensajes de la herramienta |
addErrorMessage(message) | Agrega un mensaje de error a los mensajes de la herramienta Nota: addErrorMessage no lanzará una excepción. |
addWarningMessage(message) | Agrega un mensaje de advertencia a los mensajes de la herramienta |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | Agrega un mensaje de cualquier tipo usando los códigos de mensajede geoprocesamiento |
addGPMessages() | Agrega mensajes de la última ejecución de geoprocesamiento a los mensajes de la herramienta |
Ejemplo de agregar mensajes
En el ejemplo siguiente, la entrada se evalúa y si no contiene entidades de entrada, se agrega un mensaje de error a la herramienta y una excepción de arcpy.ExecuteError se eleva al extremo de la herramienta.
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
También puede agregar mensajes con las funciones ArcPy como AddMessage. Consulte Comprender la severidad y tipos de mensajes para obtener más información.