38.5. MiniAEFrame
--- オープンスクリプティングアーキテクチャサーバのサポート¶
MiniAEFrame
モジュールは、アプリケーションにオープンスクリプティングアーキテクチャ (OSA) サーバ機能を持たせるためのフレームワークを提供します。つまり、AppleEvents の受信と処理を行わせます。 FrameWork
と連携させても良いし、単独でも使えます。実例として、このモジュールは PythonCGISlave の中で使われています。
MiniAEFrame
には以下のクラスが定義されています:
-
class
MiniAEFrame.
AEServer
¶ AppleEvent の分岐を処理するクラス。作成するアプリケーションはこのクラスと、
MiniApplication
あるいはFrameWork.Application
のサブクラスでなければなりません。サブクラス化したクラスでは__init__()
メソッドで、継承した両方のクラスの__init__()
メソッドを呼びださなければなりません。
-
class
MiniAEFrame.
MiniApplication
¶ FrameWork.Application
とある程度互換なクラスですが、機能は少ないです。このクラスのイベントループはアップルメニュー、 Cmd-.(コマンドキーを押しながらピリオド.を押す)、 AppleEvent をサポートします。他のイベントは Python インタープリタか Sioux(CodeWarrior のコンソールシステム)に渡されます。作成するアプリケーションでAEServer
を使いたいが、独自のウィンドウなどを持たない場合に便利です。
38.5.1. AEServer オブジェクト¶
-
AEServer.
installaehandler
(classe, type, callback)¶ AppleEvent ハンドラをインストールします。 classe と type は4 文字の OSA クラスとタイプの指定子で、ワイルドカード
'****'
も使えます。対応する AppleEvent を受けるとパラメータがデコードされ、与えたコールバックが呼び出されます。
-
AEServer.
callback
(_object, **kwargs)¶ 与えたコールバックは、OSA ダイレクトオブジェクトを 1 番目のパラメータとして呼び出されます。他のパラメータは 4 文字の指定子を名前にしたキーワード引数として渡されます。他に 3 つのキーワード・パラメータが渡されます。つまり、
_class
と_type
はクラスとタイプ指定子で、_attributes
は AppleEvent 属性を持つ辞書です。与えたメソッドの返り値は
aetools.packevent()
でパックされ、リプライとして送られます。
現在のクラス設計にはいくつか重大な問題があることに注意してください。引数に名前ではない 4 文字の指定子を持つ AppleEvent はまだ実装されていないし、イベントの送信側にエラーを返すこともできません。この問題は将来のリリースまで先送りにされています。