From 1073841f34611aedb6758b2cebed4df5c5e57812 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 23 May 2011 12:09:39 -0400 Subject: [PATCH] add remove_element() method --- sfa/rspecs/rspec.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sfa/rspecs/rspec.py b/sfa/rspecs/rspec.py index bf3db646..afc97bbf 100755 --- a/sfa/rspecs/rspec.py +++ b/sfa/rspecs/rspec.py @@ -90,6 +90,21 @@ class RSpec: if opt.text == value: elem.remove(opt) + def remove_element(self, element_name, root_node = None): + """ + Removes all occurences of an element from the tree. Start at + specified root_node if specified, otherwise start at tree's root. + """ + if not root_node: + root_node = self.xml + + elements = root_node.xpath('//rspecv2:%s | //%s' % (element_name, element_name), \ + self.namespaces) + for element in elements: + parent = element.getparent() + parent.remove(element) + + def merge(self, in_rspec): pass -- 2.47.0