38.2. aetools --- OSA クライアントのサポート

aetools モジュールは Python で AppleScript クライアントとしての機能をサポートするアプリケーションを構築するための基本的な機能を含んでいます。さらに、このモジュールは、 aetypes および aepack モジュールの中核機能をインポートし再エクスポートします。 gensuitemodule によって生成されたスタブパッケージは aetools のかなり適切な部分をインポートするので、通常はそれを明示的にインポートする必要はありません。生成されたパッケージ群を使用することができない場合と、スクリプト対応のためにより低いレベルのアクセスを必要としている場合、例外が発生します。

aetools モジュールはそれ自身、 Carbon.AE モジュールによって提供される AppleEvent サポートを利用します。このモジュールにはウィンドウマネージャへのアクセスを必要とするという 1 つの欠点があります。詳細は GUI でスクリプトを実行 を見てください。この制限は将来のリリースで撤廃されるかもしれません。

注釈

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

aetools モジュールは下記の関数を定義しています。

aetools.packevent(ae, parameters, attributes)

あらかじめ作成された Carbon.AE.AEDesc オブジェクト中のパラメータおよび属性を保存します。 parametersattributes は Python オブジェクトの 4 文字の OSA パラメータのキーを写像した辞書です。このオブジェクトをパックするには aepack.pack() を使います。

aetools.unpackevent(ae[, formodulename])

再帰的に、 Carbon.AE.AEDesc イベントを Python オブジェクトへアンパックします。関数は引数の辞書および属性の辞書を返します。 formodulename 引数は AppleScript クラスをどこに捜しに行くか制御するために、生成されたスタブパッケージにより使用されます。

aetools.keysubst(arguments, keydict)

Python キーワード引数辞書 arguments を、写像による 4 文字の OSA キーとして keydict の中で指定された Python 識別子であるキーの交換により packevent によって要求されるフォーマットへ変換します。生成されたパッケージ群によって使用されます。

aetools.enumsubst(arguments, key, edict)

arguments 辞書が key へのエントリーを含んでいる場合、辞書 edict のエントリーに見合う値に変換します。これは人間に判読可能なように Python 列挙名を OSA 4 文字のコードに変換します。生成されたパッケージ群によって使用されます。

aetools モジュールは次のクラスを定義しています。

class aetools.TalkTo([signature=None, start=0, timeout=0])

アプリケーションとの対話に利用する代理の基底クラスです。 signature はクラス属性 _signature (サブクラスによって通常設定される) を上書きした、対話するアプリケーションを定義する 4 文字 クリエートコードです。 start にはクラスインスタンス上でアプリケーションを実行することを可能にするために、真を設定する事ができます。 timeout を明示的に設定する事で、 AppleEvent の返答を待つデフォルトのタイムアウト時間を変更する事ができます。

TalkTo._start()

アプリケーションが起動していてるか確認し、起動していなければ起動しようとします。

TalkTo.send(code, subcode[, parameters, attributes])

OSA指示子 code, subcode (いずれも通常4文字の文字列です) を持った変数のために、 parameters をパックし、 attributes に戻し、目標アプリケーションにそれを送って、返答を待ち、 unpackevent を含んだ返答をアンパックし、AppleEvent の返答を返し、辞書としてアンパックした値と属性を返して、AppleEvent Carbon.AE.AEDesc を作成します。