def remove_tag(tag_elements: Iterable[_Element], ) -> None: """ Remove given tag elements from a cib. tag_elements -- tag elements to be removed """ for tag in tag_elements: remove_one_element(tag)
def nvset_remove(nvset_el_list: Iterable[_Element]) -> None: """ Remove given nvset elements from CIB nvset_el_list -- nvset elements to be removed """ for nvset_el in nvset_el_list: remove_one_element(nvset_el)
def remove_obj_ref(obj_ref_list: Iterable[_Element]) -> None: """ Remove specified obj_ref elements and also their parents if they remain empty after obj_ref removal. obj_ref_list -- list of obj_ref elements """ tag_elements = {find_parent(obj_ref, [TAG_TAG]) for obj_ref in obj_ref_list} for obj_ref in obj_ref_list: remove_one_element(obj_ref) for tag in tag_elements: if len(tag.findall(TAG_OBJREF)) == 0: remove_one_element(tag)
def test_remove_element_without_parent(self): lib.remove_one_element(self.root) assert_xml_equal("<root><sub/></root>", etree_to_str(self.root))
def test_remove_element_with_parent(self): lib.remove_one_element(self.sub) assert_xml_equal("<root/>", etree_to_str(self.root))