38.4. aetypes — AppleEvent オブジェクト

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 が生成するパッケージ内で、目的に応じてクラスやプロパティを増やす際に使われます。

以前のバージョンとの互換性や、スタブパッケージを生成していないようなアプリケーションをスクリプトで書く必要がある場合のために、このモジュールには DocumentWindowCharacter 、 といったよく使われる OSA クラスのいくつかを指定できるオブジェクト指定子も入っています。

注釈

このモジュールは Python 3.x で削除されました。

AEObjects モジュールでは、以下のようなクラスを定義して、 Apple Event デスクリプタデータを表現しています:

class aetypes.Unknown(type, data)

aepackaetypes がサポートしていない OSA の デスクリプタデータ、すなわち、このモジュールで扱っている他のクラスや、 Python の組み込み型の値で表現されていないようなデータを表現するクラスです。

class aetypes.Enum(enum)

列挙値 (enumeration value) を表すクラスです。 値は 4 文字の文字列型になります。

class aetypes.InsertionLoc(of, pos)

オブジェクト of の中の pos の位置を表すクラスです。

class aetypes.Boolean(bool)

ブール値 (真偽値) を表すクラスです。

class aetypes.StyledText(style, text)

スタイル情報 (フォント、タイプフェイスなど) つきのテキストを表すクラスです。

class aetypes.AEText(script, style, text)

スクリプトシステム (script system) およびスタイル情報の入ったテキストを表すクラスです。

class aetypes.IntlText(script, language, text)

スクリプトシステムと言語情報 (language information) の入ったテキストを表すクラスです。

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 の型 (type value) を表すクラスです。 4 文字からなる名前を値に持ちます。

class aetypes.Keyword(name)

OSA のキーワードです。 4 文字からなる名前を値に持ちます。

class aetypes.Range(start, stop)

範囲を表すクラスです。

class aetypes.Ordinal(abso)

先頭を表す "firs" や中央を表す "midd" のように、 数値でない絶対位置指定子を表すクラスです。

class aetypes.Logical(logc, term)

演算子 logcterm に適用したときの論理式を表すクラスです。

class aetypes.Comparison(obj1, relo, obj2)

obj1obj2relo による比較を表すクラスです。

以下のクラスは、生成されたスタブパッケージが、 AppleScript のクラスやプロパティを Python で表現する上で基底クラスとして利用します。

class aetypes.ComponentItem(which[, fr])

OSA クラス用の抽象基底クラスです。サブクラスでは、クラス属性 want を 4 文字の OSA クラスコードに設定せねばなりません。 このクラスのサブクラスのインスタンスは AppleScript オブジェクト指定子と同じになります。インスタンス化を行う最には、 which にセレクタを渡さねばなりません。また、任意で親オブジェクトを fr に渡せます。

class aetypes.NProperty(fr)

OSA プロパティ用の抽象基底クラスです。サブクラスでは、クラス属性 wantwhich を設定して、どのプロパティを表しているかを指定せねばなりません。このクラスのサブクラスのインスタンスはオブジェクト指定子と同じになります。

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

ComponentItemNProperty の基底クラスで、汎用の OSA オブジェクト指定子を表します。パラメタの説明は Apple Open Scripting Architecture のドキュメントを参照してください。 このクラスは抽象クラスではないので注意してください。