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" オブジェクト中のパラメータ
   および属性を保存します。 "parameters" と "attributes" は 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" を作成します。
