Um módulo para processamento de mensagens de protocolo.
Membros
encode_text
string proto.encode_text(x)
Uma struct é convertida em uma mensagem. Os campos são emitidos em ordem de 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.
Um dicionário é convertido em um campo repetido de mensagens com campos chamados "key" e "value".
As entradas são emitidas em 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 |