Un módulo para el procesamiento de mensajes de protocolo.
Miembros
encode_text
string proto.encode_text(x)
Una estructura se convierte en un mensaje. Los campos se emiten en orden de nombre. Se ignora cada campo de struct cuyo valor sea None.
Una secuencia (como una lista o una tupla) se convierte en un campo repetido. Sus elementos no deben ser secuencias ni diccionarios.
Un diccionario se convierte en un campo repetido de mensajes con campos llamados "clave" y "valor".
Las entradas se emiten en orden de iteración (inserción).
Las claves del diccionario deben ser cadenas o números enteros, y sus valores no deben ser secuencias ni diccionarios.
Ejemplos:
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 | Descripción |
---|---|
x
|
required |