38.1. gensuitemodule
— OSA スタブ作成パッケージ¶
gensuitemodule
モジュールは AppleScript 辞書によって特定のアプリケーションに実装されている AppleScript 群のためのスタブコードを実装した Python パッケージを作成します。
このモジュールは、通常は PythonIDE からユーザによって起動されますが、コマンドラインからスクリプトとして実行する (オプションとしてヘルプに --help
を与えてみてください) こともできますし、Python コードでインポートして利用する事もできます。使用例として、どのようにして標準ライブラリに含まれているスタブパッケージを生成するか、 Mac/scripts/genallsuites.py
にあるソースを見てください。
このモジュールは次の公開関数を定義しています。
-
gensuitemodule.
is_scriptable
(application)¶ application
としてパス名を与えたアプリケーションがスクリプト可能でありそうな場合、真を返します。返り値はやや不確実な場合があります。 Internet Explorer はスクリプト不可能なように見えてしまいますが、実際はスクリプト可能です。
-
gensuitemodule.
processfile
(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])¶ フルパス名として渡された
application
のためのスタブパッケージを作成します。.app
として一つのパッケージにまとめてあるプログラム群のために内部の実行プログラムそのものではなくパッケージへのパス名を渡すだけでよくなっています。パッケージ化されていないCFM アプリケーションではアプリケーションバイナリのファイル名を渡す事もできます。この関数は、アプリケーションの OSA 用語リソースを捜し、これらのリソースを読み取り、その結果データをクライアントスタブを実装した Python コードパッケージを作成するために使用します。
output
は作成結果のパッケージを保存するパス名で、指定しない場合は標準の「別名で保存(save file as)」ダイアログが表示されます。basepkgname
はこのパッケージの基盤となるパッケージを指定します。デフォルトはStdSuites
になります。StdSuites
自体を生成する場合だけ、このオプションを指定する必要があります。edit_modnames
は自動生成によって作成されてあまり綺麗ではないモジュール名を変更するために使用することができる辞書です。creator_signature
はパッケージ中のPkgInfo
ファイル、あるいは CFM ファイルクリエータ署名から通常得られる 4 文字クリエータコードを上書きするために使用することができます。dump
にはファイルオブジェクトを与え、これを指定するとprocessfile
はリソースを読取った後に停止し、コード化した用語リソースの Python 表現をダンプします。verbose
にもまたファイルオブジェクトを与え、これを指定するとprocessfile
の行なっている処理の詳細を出力します。
-
gensuitemodule.
processfile_fromresource
(application[, output, basepkgname, edit_modnames, creatorsignature, dump, verbose])¶ この関数は、用語リソースを得るのに異なる方法を使用する以外は、
processfile
と同じです。この関数では、リソースファイルとしてapplication
を開き、このファイルから"aete"
および"aeut"
リソースをすべて読み込む事で、AppleScript 用語リソース読み込みを行ないます。