mirror of
https://github.com/openvswitch/ovs
synced 2025-08-22 01:51:26 +00:00
python: Add a json encoder to flow fields.
The json encoder can be used to convert Flows to json. Acked-by: Eelco Chaudron <echaudro@redhat.com> Signed-off-by: Adrian Moreno <amorenoz@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
parent
7e588e82f0
commit
6a71bc09bb
@ -5,6 +5,7 @@ A decoder is generally a callable that accepts a string and returns the value
|
||||
object.
|
||||
"""
|
||||
|
||||
import json
|
||||
import netaddr
|
||||
import re
|
||||
|
||||
@ -522,3 +523,16 @@ def decode_nat(value):
|
||||
result[flag] = True
|
||||
|
||||
return result
|
||||
|
||||
|
||||
class FlowEncoder(json.JSONEncoder):
|
||||
"""FlowEncoder is a json.JSONEncoder instance that can be used to
|
||||
serialize flow fields."""
|
||||
|
||||
def default(self, obj):
|
||||
if isinstance(obj, Decoder):
|
||||
return obj.to_json()
|
||||
elif isinstance(obj, netaddr.IPAddress):
|
||||
return str(obj)
|
||||
|
||||
return json.JSONEncoder.default(self, obj)
|
||||
|
Loading…
x
Reference in New Issue
Block a user