Um módulo para processamento de mensagens de protocolo.
Membros
encode_text
string proto.encode_text(x)Retorna a codificação do argumento struct como uma mensagem de protocolo em formato de texto. A estrutura de dados precisa ser composta de maneira recursiva por strings, ints, pontos flutuantes ou booleanos, ou structs, sequências e dicts desses tipos.
Um struct é convertido em uma mensagem. Os campos são emitidos em ordem de nomes. Cada campo de struct com o valor None é ignorado.
Uma sequência (como uma lista ou tupla) é convertida em um campo repetido. Os elementos não podem ser sequências ou dicts.
Um dicionário é convertido em um campo repetido de mensagens com campos chamados de "key". e "value".
As entradas são emitidas em ordem de iteração (inserção).
As chaves do dict precisam ser strings ou ints, e os valores não podem ser sequências ou dicts.
Exemplos:
proto.encode_text(struct(field=123)) # field: 123 proto.encode_text(struct(field=True)) # field: true proto.encode_text(struct(field=[1, 2, 3])) # field: 1 # field: 2 # field: 3 proto.encode_text(struct(field='text', ignored_field=None)) # field: "text" proto.encode_text(struct(field=struct(inner_field='text', ignored_field=None))) # field { # inner_field: "text" # } proto.encode_text(struct(field=[struct(inner_field=1), struct(inner_field=2)])) # field { # inner_field: 1 # } # field { # inner_field: 2 # } proto.encode_text(struct(field=struct(inner_field=struct(inner_inner_field='text')))) # field { # inner_field { # inner_inner_field: "text" # } # } proto.encode_text(struct(foo={4: 3, 2: 1})) # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
Parâmetros
Parâmetro | Descrição |
---|---|
x
|
estrutura
obrigatório |