定義モジュール関数

protorpc.definition パッケージは、次の関数を提供します。

define_enum(enum_descriptor, module_name)

記述子に対して Enum クラスを定義します。

引数
enum_descriptor
Enum クラスの作成に使用する列挙型記述子。
module_name
新しい記述子クラスに付けるモジュール名。

enum_descriptor で記述される新しい messages.Enum サブクラスを返します。

define_field(field_descriptor)

指定された記述子から Field インスタンスを定義します。

引数
field_descriptor
Field インスタンスの作成に使用する FieldDescriptor クラス。

field_descriptor で記述される新しいフィールド インスタンスを返します。

define_message(message_descriptor, module_name)

指定された記述子から Message クラスを定義します。

引数
message_descriptor
メッセージ クラスの記述に使用するメッセージ記述子。
module_name
新しい記述子クラスに付けるモジュール名。

message_descriptor で記述される新しい messages.Message サブクラスを返します。

define_service(service_descriptor, module)

新しいサービス プロキシを定義します。

引数
service_descriptor
サービスを記述するサービス記述子クラス。
module
サービスの追加先となるモジュール。このモジュールに関連したリクエストとレスポンスの種類があります。

リモート サーバーと通信可能なクラスのプロキシを返します。

define_file(file_descriptor, module=None)

指定されたファイル記述子からモジュールを定義します。

引数
file_descriptor
モジュールの記述元の FileDescriptor インスタンス。
module=None
内容オブジェクトの追加先となるモジュール。file_descriptor.package 内の値はモジュール名で上書きされます。既存のモジュールに定義が追加されます(指定した場合)。

モジュールを指定しない場合、モジュールが新規作成され、ファイル記述子のパッケージの名前が設定されます。モジュールを指定した場合、その同じモジュールを返します。

ユーティリティ関数

import_file(file_descriptor, modules=None)

ファイル記述子をモジュール空間にインポートします。define_file() に似ていますが、モジュールを指定しない場合は新しいモジュールと必要な親モジュールが作成され、modules パラメータ(sys.modules)に追加される点が異なります。

引数
file_descriptor
モジュールの記述元の FileDescriptor インスタンス。
modulesmodules=None
更新するモジュールのディクショナリ。モジュールとその親が存在しない場合は作成されます。既存のモジュールが file_descriptor.package と一致する場合、そのモジュールは FileDescriptor のコンテンツで更新されます。

modules 引数と一致するモジュールを返します。一致するモジュールがない場合は新規モジュールを返します。

import_file_set(file_set, modules=None)

引数
file_set
文字列、または FileSet インスタンス。文字列の場合、import_file_set() でファイルを開き、シリアル化されたファイルセットを読み取ります。FileSet インスタンスの場合、このインスタンスから定義をインポートします。
modules
更新するモジュールのディクショナリ。モジュールとその親が存在しない場合は作成されます。既存のモジュールが file_descriptor.package と一致する場合、そのモジュールは FileDescriptor のコンテンツで更新されます。