proto

Sorun bildirin Kaynağı göster

Protokol mesajı işleme için kullanılan bir modüldür.

Üyeler

encode_text

string proto.encode_text(x)

struct bağımsız değişkeninin kodlamasını metin biçiminde bir protokol mesajı olarak döndürür. Veri yapısı, yinelemeli olarak dizeler, ints, bolluklar veya "bool'lar" ya da bu türler struct'lar, diziler ve dikt'lerden oluşmalıdır.

Bir struct, iletiye dönüştürülür. Alanlar, ad sırasına göre yayınlanır. Değeri "None" olan her struct alanı yok sayılır.

Bir dizi (liste veya tuple gibi) tekrarlanan bir alana dönüştürülür. Öğelerin dizi veya dikte biçiminde olmaması gerekir.

Bir dikte, "anahtar" ve "değer" adlı alanlara sahip yinelenen bir mesaj alanına dönüştürülür. Girişler yineleme (ekleme) sırasına göre yayınlanır. Dict anahtarları dize veya ints, değerleri dizi veya dikt olamaz. Örnekler:

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
# }

Parametreler

Parametre Açıklama
x zorunlu