> **Источник:** https://python-all.ru/2.6/library/aetypes.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# 37.4. `aetypes` – объекты AppleEvent

*Платформы:* Mac

Модуль `aetypes` определяет классы, используемые для представления дескрипторов данных Apple Event и спецификаторов объектов Apple Event.

Данные Apple Event содержатся в дескрипторах, и эти дескрипторы типизированы. Для многих дескрипторов представление в Python – это просто соответствующий тип Python: `typeText` в OSA – это строка Python, `typeFloat` – число с плавающей запятой, и т.д. Для типов OSA, не имеющих прямого аналога в Python, этот модуль объявляет классы. Упаковка и распаковка экземпляров этих классов выполняется автоматически модулем [`aepack`](https://python-all.ru/2.6/library/aepack.html#module-aepack).

Спецификатор объекта – это, по сути, адрес объекта, реализованного в сервере Apple Event. Спецификатор Apple Event используется как прямой объект для Apple Event или как аргумент необязательного параметра. Модуль `aetypes` содержит базовые классы для классов и свойств OSA, которые используются пакетами, сгенерированными [`gensuitemodule`](https://python-all.ru/2.6/library/gensuitemodule.html#module-gensuitemodule), для заполнения классов и свойств в заданном наборе.

По причинам обратной совместимости, а также для случаев, когда необходимо написать сценарий для приложения, для которого ещё не создан пакет-заглушка, этот модуль также содержит спецификаторы объектов для ряда распространённых классов OSA, таких как `Document`, `Window`, `Character` и т.д.

> **Примечание**
>
> Этот модуль был удалён в Python 3.x.

Модуль `AEObjects` определяет следующие классы для представления данных дескрипторов Apple Event:

#### `class aetypes.Unknown(type, data)`

Представление данных дескриптора OSA, для которых модули

[`aepack`](https://python-all.ru/2.6/library/aepack.html#module-aepack)

и

`aetypes`

не предоставляют поддержки, то есть всё, что не представлено другими классами здесь и не эквивалентно простому значению Python.

#### `class aetypes.Enum(enum)`

Значение перечисления с заданным 4-символьным строковым значением.

#### `class aetypes.InsertionLoc(of, pos)`

Позиция

`pos`

в объекте

`of`

.

#### `class aetypes.Boolean(bool)`

Булево значение.

#### `class aetypes.StyledText(style, text)`

Текст со включённой информацией о стиле (шрифт, начертание и т. д.).

#### `class aetypes.AEText(script, style, text)`

Текст со включённой информацией о системе письма и стиле.

#### `class aetypes.IntlText(script, language, text)`

Текст со включённой информацией о системе письма и языке.

#### `class aetypes.IntlWritingCode(script, language)`

Информация о системе письма и языке.

#### `class aetypes.QDPoint(v, h)`

Точка QuickDraw.

#### `class aetypes.QDRectangle(v0, h0, v1, h1)`

Прямоугольник QuickDraw.

#### `class aetypes.RGBColor(r, g, b)`

Цвет.

#### `class aetypes.Type(type)`

Значение типа OSA с указанным 4-символьным именем.

#### `class aetypes.Keyword(name)`

Ключевое слово OSA с указанным 4-символьным именем.

#### `class aetypes.Range(start, stop)`

Диапазон.

#### `class aetypes.Ordinal(abso)`

Нечисловые абсолютные позиции, такие как

`"firs"`

, first, или

`"midd"`

, middle.

#### `class aetypes.Logical(logc, term)`

Логическое выражение применения оператора

`logc`

к

`term`

.

#### `class aetypes.Comparison(obj1, relo, obj2)`

Сравнение

`relo`

`obj1`

с

`obj2`

.

Следующие классы используются в качестве базовых классов сгенерированными пакетами-заглушками для представления классов и свойств AppleScript в Python:

#### `class aetypes.ComponentItem(which[, fr])`

Абстрактный базовый класс для класса OSA. Подкласс должен установить атрибут класса

`want`

в 4-символьный код класса OSA. Экземпляры подклассов этого класса эквивалентны Object Specifiers AppleScript. При создании экземпляра следует передать селектор в

`which`

и, опционально, родительский объект в

`fr`

.

#### `class aetypes.NProperty(fr)`

Абстрактный базовый класс для свойства OSA. Подкласс должен установить атрибуты класса

`want`

и

`which`

, чтобы указать, о каком свойстве идёт речь. Экземпляры подклассов этого класса являются Object Specifiers.

#### `class aetypes.ObjectSpecifier(want, form, seld[, fr])`

Базовый класс

`ComponentItem`

и

`NProperty`

, общего OSA Object Specifier. Смотрите документацию Apple Open Scripting Architecture для параметров. Обратите внимание, что этот класс не является абстрактным.
