mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-17 16:47:50 +00:00
pycriu: images: pb2dict: preserve fields order with "pretty" option
Using collections.OrderedDict allows us to keep fields in the same order as they appear in corresponding proto files, which helps to impove readability. In non-pretty mode we still use regular dict. Signed-off-by: Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
e0b24e21d3
commit
7197aff703
1 changed files with 2 additions and 1 deletions
|
|
@ -2,6 +2,7 @@ from google.protobuf.descriptor import FieldDescriptor as FD
|
|||
import opts_pb2
|
||||
import ipaddr
|
||||
import socket
|
||||
import collections
|
||||
|
||||
# pb2dict and dict2pb are methods to convert pb to/from dict.
|
||||
# Inspired by:
|
||||
|
|
@ -74,7 +75,7 @@ def pb2dict(pb, pretty = False, is_hex = False):
|
|||
Convert protobuf msg to dictionary.
|
||||
Takes a protobuf message and returns a dict.
|
||||
"""
|
||||
d = {}
|
||||
d = collections.OrderedDict() if pretty else {}
|
||||
for field, value in pb.ListFields():
|
||||
if field.label == FD.LABEL_REPEATED:
|
||||
d_val = []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue