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 の返答を返し、辞書としてアンパックした値と属性を返して、AppleEventCarbon.AE.AEDescを作成します。
