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

aetools.md

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

1> **Источник:** https://python-all.ru/2.7/library/aetools.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 38.2. [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools) – поддержка клиента OSA89Модуль [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools) содержит базовую функциональность, на которой строится поддержка клиента Python AppleScript. Он также импортирует и реэкспортирует основную функциональность модулей [`aetypes`](https://python-all.ru/2.7/library/aetypes.html#module-aetypes) и [`aepack`](https://python-all.ru/2.7/library/aepack.html#module-aepack). Пакеты-заглушки, созданные [`gensuitemodule`](https://python-all.ru/2.7/library/gensuitemodule.html#module-gensuitemodule), импортируют соответствующие части [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools), поэтому обычно нет необходимости импортировать его вручную. Исключение составляет случай, когда нельзя использовать сгенерированный пакет набора и нужен доступ к скриптингу более низкого уровня.1011Сам модуль [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools) использует поддержку AppleEvent, предоставляемую модулем [`Carbon.AE`](https://python-all.ru/2.7/library/carbon.html#module-Carbon.AE). У этого есть один недостаток: требуется доступ к оконному менеджеру; подробности см. в разделе [Запуск скриптов с графическим интерфейсом](https://python-all.ru/2.7/using/mac.html#osx-gui-scripts). В будущих версиях это ограничение может быть снято.1213> **Примечание**14>15> Этот модуль был удалён в Python 3.x.1617Модуль [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools) определяет следующие функции:1819#### `aetools.packevent(ae, parameters, attributes)`2021Сохраняет параметры и атрибуты в предварительно созданном объекте `Carbon.AE.AEDesc`. `parameters` и `attributes` – это словари, сопоставляющие 4-символьные ключи параметров OSA объектам Python. Объекты упаковываются с помощью `aepack.pack()`.2223#### `aetools.unpackevent(ae[, formodulename])`2425Рекурсивно распаковывает событие `Carbon.AE.AEDesc` в объекты Python. Функция возвращает словарь параметров и словарь атрибутов. Аргумент `formodulename` используется сгенерированными пакетами-заглушками для управления тем, где ищутся классы AppleScript.2627#### `aetools.keysubst(arguments, keydict)`2829Преобразует словарь ключевых аргументов Python `arguments` в формат, требуемый `packevent`, заменяя ключи (идентификаторы Python) на четырёхсимвольные ключи OSA в соответствии с отображением, заданным в `keydict`. Используется сгенерированными пакетами набора.3031#### `aetools.enumsubst(arguments, key, edict)`3233Если словарь `arguments` содержит запись для `key`, преобразует значение этой записи в соответствии со словарём `edict`. Это преобразует читаемые человеком имена перечислений Python в четырёхсимвольные коды OSA. Используется сгенерированными пакетами набора.3435Модуль [`aetools`](https://python-all.ru/2.7/library/aetools.html#module-aetools) определяет следующий класс:3637#### `class aetools.TalkTo([signature=None, start=0, timeout=0])`3839Базовый класс для прокси, используемого для общения с приложением. `signature` переопределяет атрибут класса `_signature` (который обычно задаётся подклассами) и является 4-символьным кодом создателя, определяющим приложение, с которым нужно общаться. `start` может быть установлено в true, чтобы запускать приложение при создании экземпляра класса. `timeout` можно указать для изменения таймаута по умолчанию, используемого при ожидании ответа AppleEvent.4041#### `TalkTo._start()`4243Проверяет, запущено ли приложение, и пытается запустить его, если нет.4445#### `TalkTo.send(code, subcode[, parameters, attributes])`4647Создаёт AppleEvent `Carbon.AE.AEDesc` для глагола с обозначением OSA `code, subcode` (обычные 4-символьные строки), упаковывает в него `parameters` и `attributes`, отправляет целевому приложению, ожидает ответа, распаковывает ответ с помощью `unpackevent` и возвращает ответное событие AppleEvent, распакованные возвращаемые значения в виде словаря и атрибуты ответа.48