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
を作成します。