Reviewed-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
On 11/02/2014 11:05 PM, CrÃstian Viana wrote:
The function "xml_item_update" only updates the content of
any given
tag, filtered by an XPath expression. However, one might want to update
one of the tag's attributes instead of its content.
Add an optional parameter to "xml_item_update" which sets the attribute
name to be updated; if not set, the function will behave as before, i.e.
update the tag's content.
Signed-off-by: CrÃstian Viana <vianac(a)linux.vnet.ibm.com>
---
src/kimchi/xmlutils/utils.py | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/kimchi/xmlutils/utils.py b/src/kimchi/xmlutils/utils.py
index bfbe0c1..4863bb5 100644
--- a/src/kimchi/xmlutils/utils.py
+++ b/src/kimchi/xmlutils/utils.py
@@ -27,10 +27,13 @@ def xpath_get_text(xml, expr):
return res
-def xml_item_update(xml, xpath, value):
+def xml_item_update(xml, xpath, value, attr=None):
root = ET.fromstring(xml)
item = root.find(xpath)
- item.text = value
+ if attr is None:
+ item.text = value
+ else:
+ item.set(attr, value)
return ET.tostring(root, encoding="utf-8")