summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-08-22 14:52:21 -0700
committerBen Pfaff <blp@nicira.com>2011-08-24 11:57:42 -0700
commit6a6f8d167357a1f1751cdd54b9491c531a371ae1 (patch)
tree82da21a7e944dd96fd397e17f20e3a2ff2e8ce32 /python
parent0233401f12fe5ef8f9d63d660d2bd3f739766025 (diff)
downloadopenvswitch-6a6f8d167357a1f1751cdd54b9491c531a371ae1.tar.gz
ovsdb-data: Simplify converting an OVSDB datum to JSON by reordering logic.
Putting the "map" case first avoids duplicate tests. Suggested-by: Reid Price <reid@nicira.com>
Diffstat (limited to 'python')
-rw-r--r--python/ovs/db/data.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/python/ovs/db/data.py b/python/ovs/db/data.py
index b68d4e32f..9530fb9cd 100644
--- a/python/ovs/db/data.py
+++ b/python/ovs/db/data.py
@@ -325,14 +325,14 @@ class Datum(object):
return Datum(type_, {keyAtom: None})
def to_json(self):
- if len(self.values) == 1 and not self.type.is_map():
+ if self.type.is_map():
+ return ["map", [[k.to_json(), v.to_json()]
+ for k, v in sorted(self.values.items())]]
+ elif len(self.values) == 1:
key = self.values.keys()[0]
return key.to_json()
- elif not self.type.is_map():
- return ["set", [k.to_json() for k in sorted(self.values.keys())]]
else:
- return ["map", [[k.to_json(), v.to_json()]
- for k, v in sorted(self.values.items())]]
+ return ["set", [k.to_json() for k in sorted(self.values.keys())]]
def to_string(self):
head = tail = None