38.2。 aetools —OSAクライアントのサポート
aetools モジュールには、PythonAppleScriptクライアントサポートが構築されている基本的な機能が含まれています。 また、 aetypes および aepack モジュールのコア機能をインポートおよび再エクスポートします。 gensuitemodule によって生成されたスタブパッケージは、 aetools の関連部分をインポートするため、通常は自分でインポートする必要はありません。 これの例外は、生成されたスイートパッケージを使用できず、スクリプトへの低レベルのアクセスが必要な場合です。
aetools モジュール自体は、 Carbon.AE モジュールによって提供されるAppleEventサポートを使用します。 これには1つの欠点があります。ウィンドウマネージャーにアクセスする必要があります。詳細については、セクション GUIを使用したスクリプトの実行を参照してください。 この制限は、将来のリリースで解除される可能性があります。
ノート
このモジュールはPython3.xで削除されました。
aetools モジュールは、次の関数を定義します。
- aetools.packevent(ae, parameters, attributes)
- 事前に作成された
Carbon.AE.AEDesc
オブジェクトにパラメーターと属性を格納します。parameters
およびattributes
は、4文字のOSAパラメーターキーをPythonオブジェクトにマッピングする辞書です。 オブジェクトはaepack.pack()
を使用してパックされます。
- aetools.unpackevent(ae[, formodulename])
Carbon.AE.AEDesc
イベントをPythonオブジェクトに再帰的に解凍します。 この関数は、パラメーターディクショナリと属性ディクショナリを返します。formodulename
引数は、生成されたスタブパッケージによって使用され、AppleScriptクラスが検索される場所を制御します。
- aetools.keysubst(arguments, keydict)
- [で指定されたマッピングに従って、Python識別子であるキーを4文字のOSAキーに置き換えることにより、Pythonキーワード引数辞書
arguments
をpackevent
で必要な形式に変換します。 X218X]。 生成されたスイートパッケージによって使用されます。
- 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
をtrueに設定すると、クラスのインスタンス化でアプリケーションを実行できるようになります。timeout
を指定して、AppleEventの応答を待機しているときに使用されるデフォルトのタイムアウトを変更できます。
- TalkTo._start()
- アプリケーションが実行されているかどうかをテストし、実行されていない場合は起動を試みます。
- TalkTo.send(code, subcode[, parameters, attributes])
- OSA指定
code, subcode
(通常の4文字の文字列)を持つ動詞のAppleEventCarbon.AE.AEDesc
を作成し、parameters
とattributes
をパックします、それをターゲットアプリケーションに送信し、応答を待ち、unpackevent
を使用して応答を解凍し、応答appleevent、解凍された戻り値を辞書として返し、属性を返します。