aetools.md · Markdown – Документация Python
Документация Python неофициальный перевод

aetools.md

134 строк · 6.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.6/library/aetools.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 37.2. `aetools` – поддержка клиента OSA89*Платформы:* Mac1011Модуль `aetools` содержит базовую функциональность, на которой построена поддержка клиента AppleScript в Python. Он также импортирует и реэкспортирует основную функциональность модулей [`aetypes`](https://python-all.ru/2.6/library/aetypes.html#module-aetypes) и [`aepack`](https://python-all.ru/2.6/library/aepack.html#module-aepack). Заготовки пакетов, созданные с помощью [`gensuitemodule`](https://python-all.ru/2.6/library/gensuitemodule.html#module-gensuitemodule), импортируют соответствующие части `aetools`, поэтому обычно не требуется импортировать его самостоятельно. Исключение составляет случай, когда невозможно использовать сгенерированный пакет и необходим низкоуровневый доступ к скриптованию.1213Сам модуль `aetools` использует поддержку AppleEvent, предоставляемую модулем [`Carbon.AE`](https://python-all.ru/2.6/library/carbon.html#module-Carbon.AE). У этого есть один недостаток: требуется доступ к менеджеру окон; подробнее см. раздел [*Запуск скриптов с графическим интерфейсом*](https://python-all.ru/2.6/using/mac.html#osx-gui-scripts). Это ограничение может быть снято в будущих версиях.1415> **Примечание**16>17> Этот модуль был удалён в Python 3.x.1819Модуль `aetools` определяет следующие функции:2021#### `aetools.packevent(ae, parameters, attributes)`2223Сохраняет параметры и атрибуты в предварительно созданном объекте2425`Carbon.AE.AEDesc`2627.2829`parameters`3031и3233`attributes`3435– это словари, сопоставляющие 4-символьные ключи параметров OSA объектам Python. Объекты упаковываются с помощью3637`aepack.pack()`3839.4041#### `aetools.unpackevent(ae[, formodulename])`4243Рекурсивно распаковывает событие4445`Carbon.AE.AEDesc`4647в объекты Python. Функция возвращает словарь параметров и словарь атрибутов. Аргумент4849`formodulename`5051используется созданными заготовками пакетов для управления тем, где производится поиск классов AppleScript.5253#### `aetools.keysubst(arguments, keydict)`5455Преобразует словарь именованных аргументов Python5657`arguments`5859в формат, требуемый6061`packevent`6263, путём замены ключей (идентификаторов Python) на четырёхсимвольные ключи OSA в соответствии с отображением, заданным в6465`keydict`6667. Используется созданными пакетами наборов.6869#### `aetools.enumsubst(arguments, key, edict)`7071Если словарь7273`arguments`7475содержит запись для7677`key`7879, преобразует значение этой записи в соответствии со словарём8081`edict`8283. Это преобразует читаемые человеком имена перечислений Python в четырёхсимвольные коды OSA. Используется созданными пакетами наборов.8485Модуль `aetools` определяет следующий класс:8687#### `class aetools.TalkTo([signature=None, start=0, timeout=0])`8889Базовый класс для прокси, используемого для взаимодействия с приложением.9091`signature`9293переопределяет атрибут класса9495`_signature`9697(обычно задаваемый подклассами) и представляет собой 4-символьный код создателя, определяющий приложение для взаимодействия.9899`start`100101можно установить в true, чтобы разрешить запуск приложения при создании экземпляра класса.102103`timeout`104105может быть указан для изменения таймаута по умолчанию, используемого при ожидании ответа AppleEvent.106107#### `TalkTo._start()`108109Проверяет, запущено ли приложение, и пытается запустить его, если нет.110111#### `TalkTo.send(code, subcode[, parameters, attributes])`112113Создаёт AppleEvent114115`Carbon.AE.AEDesc`116117для глагола с обозначением OSA118119`code, subcode`120121(которые являются обычными 4-символьными строками), упаковывает в него122123`parameters`124125и126127`attributes`128129, отправляет целевому приложению, ожидает ответа, распаковывает ответ с помощью130131`unpackevent`132133и возвращает appleevent ответа, распакованные возвращаемые значения в виде словаря и атрибуты ответа.134