aetypes では、 Apple Event データデスクリプタ (data descriptor) や Apple Eventオブジェクト指定子 (object specifier) を表現するクラスを定義しています。
Apple Event データはデスクリプタに含まれていて、これらのデスクリプタは型付けされています。多くのデスクリプタは、単に対応するPython の型で表現されています。例えば、OSA 中の typeText は Python 文字列型で、 typeFloat は浮動小数点型になる、といった具合です。このモジュールでは、OSA の型のうち、直接的に対応する Python の型がないもののためにクラスを定義しています。そのようなクラスのインスタンスに対するパックやアンパック操作は、 aepack モジュール自動的に処理します。
オブジェクト指定子は、本質的には Apple Event サーバ中に実装されているオブジェクトへのアドレスです。Apple Event 指定子は、Apple Event のオブジェクトそのものとして、あるいはオプションパラメタの引数として使われます。 aetypes モジュールには OSA クラスやプロパティを表現するための基底クラスが入っています。これらのクラスは、 gensuitemodule が生成するパッケージ内で、目的に応じてクラスやプロパティを増やす際に使われます。
以前のバージョンとの互換性や、スタブパッケージを生成していないようなアプリケーションをスクリプトで書く必要がある場合のために、このモジュールには Document 、 Window 、 Character 、といったよく使われる OSA クラスのいくつかを指定できるオブジェクト指定子も入っています。
ノート
このモジュールは Python 3.x で削除されました。
AEObjects モジュールでは、以下のようなクラスを定義して、 Apple Event デスクリプタデータを表現しています:
aepack や aetypes がサポートしていない OSA のデスクリプタデータ、すなわち、このモジュールで扱っている他のクラスや、 Python の組み込み型の値で表現されていないようなデータを表現するクラスです。
列挙値 (enumeration value) を表すクラスです。値は 4 文字の文字列型になります。
オブジェクト of の中の pos の位置を表すクラスです。
ブール値 (真偽値) を表すクラスです。
スタイル情報 (フォント、タイプフェイスなど) つきのテキストを表すクラスです。
スクリプトシステム (script system) およびスタイル情報の入ったテキストを表すクラスです。
スクリプトシステムと言語情報 (language information) の入ったテキストを表すクラスです。
スクリプトシステムと言語情報を表すクラスです。
QuickDrawの点を表すクラスです。
QuickDrawの矩形を表すクラスです。
色を表すクラスです。
OSA の型 (type value) を表すクラスです。 4 文字からなる名前を値に持ちます。
OSA のキーワードです。 4 文字からなる名前を値に持ちます。
範囲を表すクラスです。
先頭を表す "firs" や中央を表す "midd" のように、数値でない絶対位置指定子を表すクラスです。
演算子 logc を term に適用したときの論理式を表すクラスです。
obj1 と obj2 の relo による比較を表すクラスです。
以下のクラスは、生成されたスタブパッケージが、 AppleScript のクラスやプロパティを Python で表現する上で基底クラスとして利用します。
OSA クラス用の抽象基底クラスです。サブクラスでは、クラス属性 want を 4 文字の OSA クラスコードに設定せねばなりません。このクラスのサブクラスのインスタンスは AppleScript オブジェクト指定子と同じになります。インスタンス化を行う最には、 which にセレクタを渡さねばなりません。また、任意で親オブジェクトを fr に渡せます。
OSA プロパティ用の抽象基底クラスです。サブクラスでは、クラス属性 want と which を設定して、どのプロパティを表しているかを指定せねばなりません。このクラスのサブクラスのインスタンスはオブジェクト指定子と同じになります。
ComponentItem と NProperty の基底クラスで、汎用の OSA オブジェクト指定子を表します。パラメタの説明は Apple Open Scripting Architecture のドキュメントを参照してください。このクラスは抽象クラスではないので注意してください。