protocolo

Denunciar un problema Ver código fuente Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

Un módulo para el procesamiento de mensajes de protocolo.

Miembros

encode_text

string proto.encode_text(x)

Muestra la codificación del argumento de struct como un mensaje de protocolo de formato de texto. La estructura de datos debe estar compuesta de forma recursiva de cadenas, números enteros, números de punto flotante o valores booleanos, o bien de estructuras, secuencias y diccionarios de estos tipos.

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