Um módulo para processamento de mensagens de protocolo.
Membros
encode_text
string proto.encode_text(x)Retorna a codificação do argumento de struct como uma mensagem de protocolo no formato de texto. A estrutura de dados precisa ser composta recursivamente de strings, ints, floats ou booleanos, ou structs, sequências e dicionários desses tipos.
Uma struct é convertida em uma mensagem. Os campos são emitidos na ordem dos nomes. Cada campo de struct cujo 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 dicionários.
Uma matriz é convertida em um campo repetido de mensagens com campos chamados "chave" e "valor".
As entradas são emitidas na ordem de iteração (inserção).
As chaves do dicionário precisam ser strings ou ints, e os valores não podem ser sequências ou dicionários.
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
|
structure;
required |