[CRIU] [PATCH] pycriu: images: pb2dict: preserve fields order with "pretty" option
Ruslan Kuprieiev
rkuprieiev at cloudlinux.com
Wed Jun 24 01:57:51 PDT 2015
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 at cloudlinux.com>
---
pycriu/images/pb2dict.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pycriu/images/pb2dict.py b/pycriu/images/pb2dict.py
index 8d06dc9..39670da 100644
--- a/pycriu/images/pb2dict.py
+++ b/pycriu/images/pb2dict.py
@@ -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 = []
--
2.1.0
More information about the CRIU
mailing list