commit cefbcea3515f7010c955aa5afe783e96d108ea4c
Author: Radek Pazdera <rpazdera(a)redhat.com>
Date: Fri Jun 8 12:19:25 2012 +0200
NetConfigParse: Extending options parsing
This commit makes NetConfigParser accept <netdevice> options in a
slightly different format. Previous format of options accepted values
only as an 'value' attribute to the <option> tag. With this
modification
it is possible to define options also with values as a text elements of
the option tag. There are now two possibilities:
<!-- The usual way -->
<option name="opt" value="5" />
<!-- Longer values can be specified like this -->
<option name="teamd_config">
{
"device": "team1",
"runner": {"name": "roundrobin"},
"ports": {"eth3": {}, "eth4": {}}
}
</option>
Signed-off-by: Radek Pazdera <rpazdera(a)redhat.com>
NetConfig/NetConfigParse.py | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/NetConfig/NetConfigParse.py b/NetConfig/NetConfigParse.py
index dbd7a6d..ff148e5 100644
--- a/NetConfig/NetConfigParse.py
+++ b/NetConfig/NetConfigParse.py
@@ -97,7 +97,17 @@ class NetConfigParse:
def _parse_options_handler(self, lst, dom_element, config):
name = str(dom_element.getAttribute("name"))
- value = str(dom_element.getAttribute("value"))
+
+ value = ""
+ if dom_element.hasAttribute("value"):
+ value = str(dom_element.getAttribute("value"))
+ elif dom_element.hasChildNodes():
+ node = dom_element.firstChild
+ try:
+ value = str(dom_element.firstChild.data)
+ except:
+ raise Exception("Invalid option value")
+
lst.append((name, value))
def _parse_options(self, netdev, dom_netdev, config):
Show replies by date