Funções do módulo de definição

O pacote protorpc.definition oferece as seguintes funções:

define_enum(enum_descriptor, module_name)

Define uma classe Enum para um descritor.

Argumentos
enum_descriptor
EnumDescriptor a usar para criar a classe Enum.
module_name
Nome do módulo para atribuir à nova classe de descritores.

Devolve uma nova subclasse messages.Enum, conforme descrito por enum_descriptor.

define_field(field_descriptor)

Define uma instância Field a partir do descritor fornecido.

Argumentos
field_descriptor
Classe FieldDescriptor a usar para criar a instância Field.

Devolve uma nova instância de campo conforme descrito por field_descriptor.

define_message(message_descriptor, module_name)

Define uma classe Message a partir do descritor fornecido.

Argumentos
message_descriptor
MessageDescriptor a usar para descrever a classe de mensagens.
module_name
O nome do módulo a atribuir à nova classe de descritor.

Devolve uma nova messages.Message sub-class, conforme descrito por message_descriptor.

define_service(service_descriptor, module)

Define um novo proxy de serviço.

Argumentos
service_descriptor
Classe ServiceDescriptor que descreve o serviço.
module
O módulo ao qual adicionar o serviço. Os tipos de pedidos e respostas encontram-se relativos a este módulo.

Devolve um proxy de classe capaz de comunicar com um servidor remoto.

define_file(file_descriptor, module=None)

Define um módulo a partir do descritor de ficheiro fornecido.

Argumentos
file_descriptor
Instância FileDescriptor a partir da qual descrever o módulo.
module=None
Módulo ao qual adicionar objetos contidos. O nome do módulo substitui o valor em file_descriptor.package. As definições são adicionadas ao módulo existente, se forem fornecidas.

Se não for fornecido nenhum módulo, cria um novo módulo com o nome definido para o pacote do descritor de ficheiro. Se for fornecido um módulo, devolve o mesmo módulo.

Funções de utilidade

import_file(file_descriptor, modules=None)

Importa um FileDescriptor para um espaço de módulo. Semelhante a define_file(), exceto que é criado um novo módulo e todos os módulos principais necessários são adicionados ao parâmetro modules ou sys.modules, se não for fornecido.

Argumentos
file_descriptor
Instância FileDescriptor a partir da qual descrever o módulo.
modulesmodules=None
Dicionário de módulos a atualizar. Os módulos e os respetivos elementos principais que não existam são criados. Se for encontrado um módulo existente que corresponda a file_descriptor.package, esse módulo é atualizado com o conteúdo de FileDescriptor.

Devolve correspondências para o argumento modules ou um novo módulo se não forem encontradas correspondências.

import_file_set(file_set, modules=None)

Argumentos
file_set
Uma string ou uma instância FileSet. Se for uma string, import_file_set() abre o ficheiro e lê o FileSet serializado. Se uma instância FileSet importar definições desta instância.
modules
Dicionário de módulos a atualizar. Os módulos e os respetivos elementos principais que não existam são criados. Se for encontrado um módulo existente que corresponda ao file_descriptor.package, esse módulo é atualizado com o conteúdo do FileDescriptor.