# 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 用語リソース読み込みを行ないます。