37.1. gensuitemodule — OSA スタブ作成パッケージ — Python 2.7ja1 documentation

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 37. MacPython OSA モジュール »

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

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 37. MacPython OSA モジュール »