miniaeframe.md
1> **Источник:** https://python-all.ru/2.7/library/miniaeframe.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 38.5. [`MiniAEFrame`](https://python-all.ru/2.7/library/miniaeframe.html#module-MiniAEFrame) – поддержка сервера Open Scripting Architecture89Модуль [`MiniAEFrame`](https://python-all.ru/2.7/library/miniaeframe.html#module-MiniAEFrame) предоставляет инфраструктуру для приложения, которое может функционировать как сервер Open Scripting Architecture (OSA), т.е. получать и обрабатывать AppleEvents. Его можно использовать вместе с [`FrameWork`](https://python-all.ru/2.7/library/framework.html#module-FrameWork) или автономно. Например, он используется в **PythonCGISlave**.1011Модуль [`MiniAEFrame`](https://python-all.ru/2.7/library/miniaeframe.html#module-MiniAEFrame) определяет следующие классы:1213#### `class MiniAEFrame.AEServer`1415Класс, который обрабатывает диспетчеризацию AppleEvent. Ваше приложение должно создать подкласс этого класса вместе с [`MiniApplication`](https://python-all.ru/2.7/library/miniaeframe.html#MiniAEFrame.MiniApplication) или [`FrameWork.Application`](https://python-all.ru/2.7/library/framework.html#FrameWork.Application). Ваш метод [`__init__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__init__) должен вызывать метод [`__init__()`](https://python-all.ru/2.7/reference/datamodel.html#object.__init__) для обоих классов.1617#### `class MiniAEFrame.MiniApplication`1819Класс, который более или менее совместим с [`FrameWork.Application`](https://python-all.ru/2.7/library/framework.html#FrameWork.Application), но с меньшей функциональностью. Его цикл событий поддерживает меню «Apple», Command-точку и AppleEvents; другие события передаются интерпретатору Python и/или Sioux. Полезен, если ваше приложение хочет использовать [`AEServer`](https://python-all.ru/2.7/library/miniaeframe.html#MiniAEFrame.AEServer), но не предоставляет собственных окон и т.д.2021## 38.5.1. Объекты AEServer2223#### `AEServer.installaehandler(classe, type, callback)`2425Устанавливает обработчик AppleEvent. *classe* и *type* – это четырёхсимвольные обозначения класса и типа OSA, допускаются подстановочные знаки `'****'`. Когда получено соответствующее AppleEvent, параметры декодируются и вызывается ваш колбэк.2627#### `AEServer.callback(_object, **kwargs)`2829Ваш колбэк вызывается с прямым объектом OSA в качестве первого позиционного параметра. Остальные параметры передаются как именованные аргументы, где имя – это четырёхсимвольное обозначение. Передаются три дополнительных именованных параметра: `_class` и `_type` – это обозначения класса и типа, а `_attributes` – это словарь с атрибутами AppleEvent.3031Возвращаемое значение вашего метода упаковывается с помощью [`aetools.packevent()`](https://python-all.ru/2.7/library/aetools.html#aetools.packevent) и отправляется как ответ.3233Обратите внимание, что в текущей реализации есть несколько серьёзных проблем. AppleEvents, в которых для аргументов используются неидентификаторные четырёхсимвольные обозначения, не могут быть реализованы, и невозможно вернуть ошибку отправителю. Это будет исправлено в будущем выпуске.34