English

Google App Engine

Definition Module Functions

Experimental!

ProtoRPC is an experimental, innovative, and rapidly changing new feature for App Engine. Unfortunately, being on the bleeding edge means that we may make backwards-incompatible changes to ProtoRPC. We will inform the community when this feature is no longer experimental.

The protorpc.definition package provides the following functions:

define_enum(enum_descriptor, module_name)

Defines an Enum class for a descriptor.

Arguments:

enum_descriptor
EnumDescriptor to use to build the Enum class.
module_name
Module name to give the new descriptor class.

Returns a new messages.Enum subclass as described by enum_descriptor.

define_field(field_descriptor)

Defines a Field instance from the provided descriptor.

Arguments:

field_descriptor
FieldDescriptor class to use to build the Field instance.

Returns a new field instance as described by field_descriptor.

define_message(message_descriptor, module_name)

Defines a Message class from the provided descriptor.

Arguments:

message_descriptor
MessageDescriptor to use to describe the message class.
module_name
The module name to give the new descriptor class.

Returns a new messages.Message sub-class as described by message_descriptor.

define_service(service_descriptor, module)

Defines a new service proxy.

Arguments:

service_descriptor
ServiceDescriptor class that describes the service.
module
The module to add the service to. Request and response types are found relative to this module.

Returns a class proxy capable of communicating with a remote server.

define_file(file_descriptor, module=None)

Defines a module from the given file descriptor.

Arguments:

file_descriptor
FileDescriptor instance from which to describe the module.
module=None
Module to which to add contained objects. Module name overrides value in file_descriptor.package. Definitions are added to the existing module if provided.

If no module is provided, creates a new module with its name set to the file descriptor's package. If a module is provided, returns the same module.

Utility Functions

import_file(file_descriptor, modules=None)

Imports a FileDescriptor into a module space. Similar to define_file(), except that a new module and any required parent modules are created and added to the modules parameter, or sys.modules if not provided.

Arguments:

file_descriptor
FileDescriptor instance from which to describe the module.
modulesmodules=None
Dictionary of modules to update. Modules and their parents that do not exist will be created. If an existing module is found that matches file_descriptor.package, that module is updated with the FileDescriptor contents.

Returns matches to the modules argument, or a new module if no matches are found.

import_file_set(file_set, modules=None)

Arguments:

file_set
Either a string or a FileSet instance. If a string, import_file_set() opens the file and reads the serialized FileSet. If a FileSet instance, imports definitions from this instance.
modules
Dictionary of modules to update. Modules and their parents that do not exist will be created. If an existing module is found that matches the file_descriptor.package, that module is updated with the FileDescriptor contents.