mirror of
https://github.com/openvswitch/ovs
synced 2025-09-06 01:05:25 +00:00
python: Add generic Key-Value parser.
Most of ofproto and dpif flows are based on key-value pairs. These key-value pairs can be represented in several ways, eg: key:value, key=value, key(value). Add the following classes that allow parsing of key-value strings: * KeyValue: holds a key-value pair * KeyMetadata: holds some metadata associated with a KeyValue such as the original key and value strings and their position in the global string * KVParser: is able to parse a string and extract it's key-value pairs as KeyValue instances. Before creating the KeyValue instance it tries to decode the value via the KVDecoders * KVDecoders holds a number of decoders that KVParser can use to decode key-value pairs. It accepts a dictionary of keys and callables to allow users to specify what decoder (i.e: callable) to use for each key Also, flake8 seems to be incorrectly reporting an error (E203) in: "slice[index + offset : index + offset]" which is PEP8 compliant. So, ignore this error. Acked-by: Terry Wilson <twilson@redhat.com> 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:
committed by
Ilya Maximets
parent
02341a1879
commit
12bc968e26
@@ -16,7 +16,6 @@ ovs_pyfiles = \
|
||||
python/ovs/compat/sortedcontainers/sorteddict.py \
|
||||
python/ovs/compat/sortedcontainers/sortedset.py \
|
||||
python/ovs/daemon.py \
|
||||
python/ovs/fcntl_win.py \
|
||||
python/ovs/db/__init__.py \
|
||||
python/ovs/db/custom_index.py \
|
||||
python/ovs/db/data.py \
|
||||
@@ -26,6 +25,10 @@ ovs_pyfiles = \
|
||||
python/ovs/db/schema.py \
|
||||
python/ovs/db/types.py \
|
||||
python/ovs/fatal_signal.py \
|
||||
python/ovs/fcntl_win.py \
|
||||
python/ovs/flow/__init__.py \
|
||||
python/ovs/flow/decoders.py \
|
||||
python/ovs/flow/kv.py \
|
||||
python/ovs/json.py \
|
||||
python/ovs/jsonrpc.py \
|
||||
python/ovs/ovsuuid.py \
|
||||
@@ -42,6 +45,7 @@ ovs_pyfiles = \
|
||||
python/ovs/version.py \
|
||||
python/ovs/vlog.py \
|
||||
python/ovs/winutils.py
|
||||
|
||||
# These python files are used at build time but not runtime,
|
||||
# so they are not installed.
|
||||
EXTRA_DIST += \
|
||||
|
Reference in New Issue
Block a user