ProtoModule

Um módulo para processamento de mensagens de protocolo.

Participantes

encode_text

string ProtoModule.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, floats ou bools, ou structs, sequências e dicts desses tipos.

Um struct é convertido em uma mensagem. Os campos são emitidos na ordem dos nomes.

Uma sequência (como uma lista ou um tuplo) é convertida em um campo repetido. Os elementos não podem ser sequências ou dicts.

Um dict é 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 dict precisam ser strings, ints ou bools, e os valores não podem ser sequências ou dicts. Exemplos:

struct(field=123).to_proto()
# field: 123

struct(field=True).to_proto()
# field: true

struct(field=[1, 2, 3]).to_proto()
# field: 1
# field: 2
# field: 3

struct(field='text').to_proto()
# field: "text"

struct(field=struct(inner_field='text')).to_proto()
# field {
#   inner_field: "text"
# }

struct(field=[struct(inner_field=1), struct(inner_field=2)]).to_proto()
# field {
#   inner_field: 1
# }
# field {
#   inner_field: 2
# }

struct(field=struct(inner_field=struct(inner_inner_field='text'))).to_proto()
# field {
#    inner_field {
#     inner_inner_field: "text"
#   }
# }

struct(foo={4: 3, 2: 1}).to_proto()
# foo: {
#   key: 4
#   value: 3
# }
# foo: {
#   key: 2
#   value: 1
# }

Parâmetros

Parâmetro Descrição
x obrigatório