Документация Python неофициальный перевод

37.2. aetools – поддержка клиента OSAaetools – OSA client support

Платформы: Mac

Модуль aetools содержит базовую функциональность, на которой построена поддержка клиента AppleScript в Python. Он также импортирует и реэкспортирует основную функциональность модулей aetypes и aepack. Заготовки пакетов, созданные с помощью gensuitemodule, импортируют соответствующие части aetools, поэтому обычно не требуется импортировать его самостоятельно. Исключение составляет случай, когда невозможно использовать сгенерированный пакет и необходим низкоуровневый доступ к скриптованию.

Сам модуль aetools использует поддержку AppleEvent, предоставляемую модулем Carbon.AE. У этого есть один недостаток: требуется доступ к менеджеру окон; подробнее см. раздел Запуск скриптов с графическим интерфейсом. Это ограничение может быть снято в будущих версиях.

Примечание

Этот модуль был удалён в Python 3.x.

Модуль aetools определяет следующие функции:

aetools.packevent(ae, parameters, attributes)
Сохраняет параметры и атрибуты в предварительно созданном объекте Carbon.AE.AEDesc. parameters и attributes – это словари, сопоставляющие 4-символьные ключи параметров OSA объектам Python. Объекты упаковываются с помощью aepack.pack().
aetools.unpackevent(ae[, formodulename])
Рекурсивно распаковывает событие Carbon.AE.AEDesc в объекты Python. Функция возвращает словарь параметров и словарь атрибутов. Аргумент formodulename используется созданными заготовками пакетов для управления тем, где производится поиск классов AppleScript.
aetools.keysubst(arguments, keydict)
Преобразует словарь именованных аргументов Python arguments в формат, требуемый packevent, путём замены ключей (идентификаторов Python) на четырёхсимвольные ключи OSA в соответствии с отображением, заданным в keydict. Используется созданными пакетами наборов.
aetools.enumsubst(arguments, key, edict)
Если словарь arguments содержит запись для key, преобразует значение этой записи в соответствии со словарём edict. Это преобразует читаемые человеком имена перечислений Python в четырёхсимвольные коды OSA. Используется созданными пакетами наборов.

Модуль aetools определяет следующий класс:

class aetools.TalkTo([signature=None, start=0, timeout=0])
Базовый класс для прокси, используемого для взаимодействия с приложением. signature переопределяет атрибут класса _signature (обычно задаваемый подклассами) и представляет собой 4-символьный код создателя, определяющий приложение для взаимодействия. start можно установить в true, чтобы разрешить запуск приложения при создании экземпляра класса. timeout может быть указан для изменения таймаута по умолчанию, используемого при ожидании ответа AppleEvent.
TalkTo._start()
Проверяет, запущено ли приложение, и пытается запустить его, если нет.
TalkTo.send(code, subcode[, parameters, attributes])
Создаёт AppleEvent Carbon.AE.AEDesc для глагола с обозначением OSA code, subcode (которые являются обычными 4-символьными строками), упаковывает в него parameters и attributes, отправляет целевому приложению, ожидает ответа, распаковывает ответ с помощью unpackevent и возвращает appleevent ответа, распакованные возвращаемые значения в виде словаря и атрибуты ответа.