При запуске инструмента, ArcPy определяет приложение, из которого он был вызван. Это позволяет писать сообщения в Python. Эти сообщения автоматически отображаются в диалоговом окне инструмента, в Истории геообработки и в окне Python. Это также означает, что любая модель или инструмент-скрипт, вызывающие ваш инструмент-скрипт, получают доступ к созданным вами сообщениям.
Более подробно о сообщениях см. Основы сообщений в инструментах-скриптах.
В наборе инструментов Python объект messages можно найти в методе execute, и он используется для добавления дополнительных сообщений к инструменту. Существуют пять методов для записи сообщений:
Метод | Описание |
---|---|
addMessage(message) | К сообщению инструмента добавляется информационное сообщение. |
addWarningMessage(message) | К сообщению инструмента добавляется предупреждение. |
addErrorMessage(message) | К сообщению инструмента добавляется сообщение об ошибке. |
addIDMessage(message_type, message_ID, add_argument1=None, add_argument2=None) | Сообщение любого типа добавляется с использованием кодов сообщений геообработки. |
addGPMessages() | К сообщению инструмента добавляются сообщения последнего запущенного инструмента геообработки. |
Примечание:
Сообщения могут быть также добавлены с помощью таких функций инструмента-скрипта, как, например, AddMessage. Подробнее см. Запись сообщений в инструментах-скриптах.
Пример добавления сообщений
В приведенном ниже примере выполняется оценка входных данных и, если они не содержат входных объектов, в инструмент добавляется сообщение об ошибке, и вызывается исключение arcpy.ExecuteError для завершения выполнения инструмента.
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