[Kimchi-devel] [PATCH 2/8] Allow updating XML attribute in "xml_item_update"

Crístian Viana vianac at linux.vnet.ibm.com
Mon Nov 3 01:05:23 UTC 2014


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 at 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")
 
 
-- 
1.9.3




More information about the Kimchi-devel mailing list