Cuando se ejecuta una herramienta, ArcPy está completamente al tanto de la aplicación desde la que se invoca. Un efecto importante de esto es que puede escribir mensajes en Python y estos aparecen automáticamente en el cuadro de diálogo de la herramienta, en Historial de geoprocesamiento y en la ventana de 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 de Python, se usa un objeto messages para volver a agregar mensajes adicionales en 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 |
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)[0]) == 0:
messages.addErrorMessage("{0} has no features.".format(input))
raise arcpy.ExecuteError
return