aetools — Поддержка клиента OSA
Модуль aetools содержит основную функциональность, на которой построена поддержка Python AppleScript-клиента. Он также импортирует и повторно экспортирует основную функциональность модулей aetypes и aepack. Сгенерированные модулем gensuitemodule заглушки пакетов импортируют соответствующие части модуля aetools, поэтому обычно вам не нужно импортировать его самостоятельно. Исключением является случай, когда вы не можете использовать сгенерированный пакет suite и нуждаетесь в доступе к более низкому уровню программирования.
Сам модуль aetools использует поддержку AppleEvent, предоставляемую модулем Carbon.AE. Это имеет один недостаток: вам нужен доступ к диспетчеру окон, см. раздел Запуск скриптов с графическим интерфейсом для получения подробностей. Это ограничение может быть снято в будущих версиях.
Примечание
Этот модуль был удален в Python 3.x.
Модуль aetools определяет следующие функции:
-
aetools.packevent(ae, parameters, attributes) -
Хранит параметры и атрибуты в предварительно созданном объекте
Carbon.AE.AEDesc.parametersиattributesявляются словарями, сопоставляющими ключи параметров OSA длиной 4 символа с объектами Python. Объекты упаковываются с помощьюaepack.pack().
-
aetools.unpackevent(ae[, formodulename]) -
Рекурсивно распаковывает событие
Carbon.AE.AEDescв объекты Python. Функция возвращает словарь параметров и словарь атрибутов. Аргументformodulenameиспользуется сгенерированными пакетами заглушек для управления тем, где ищутся классы AppleScript.
-
aetools.keysubst(arguments, keydict) -
Преобразует словарь аргументов ключевых слов Python
argumentsв формат, требуемыйpackevent, заменяя ключи, которые являются идентификаторами Python, на ключи OSA длиной 4 символа в соответствии с отображением, указанным вkeydict.
-
aetools.enumsubst(arguments, key, edict) -
Если словарь
argumentsсодержит запись дляkey, преобразует значение этой записи в соответствии со словаремedict. Это преобразует имена перечислений Python, понятные человеку, в 4-символьные коды 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для глагола с обозначением OSAcode, subcode(которые обычно являются строками из 4 символов), упаковываетparametersиattributesв него, отправляет его целевому приложению, ожидает ответа, распаковывает ответ с помощьюunpackeventи возвращает ответ appleevent, распакованные возвращаемые значения в виде словаря и атрибуты возврата.
© 2001–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/2.7/library/aetools.html