def treestore_to_xml_recursion(self, itr, xmlpath): while itr : f = self.treestore.get(itr, 0)[0] if f.__class__ == Feature : xmlpath.append(f.to_xml()) # check for the childrens citer = self.treestore.iter_children(itr) while citer : p = self.treestore.get(citer, 0)[0] itm = p.get_attr('type') if (itm == 'items'): pa = f.get_attr('path') xmlpath_ = xmlpath.find(".//*[@path='%s']/param[@type='items']" % pa) if xmlpath_ != None: self.treestore_to_xml_recursion(self.treestore.iter_children(citer), xmlpath_) citer = self.treestore.iter_next(citer) # check for next items itr = self.treestore.iter_next(itr)