def deleteRecurse(self, node, index, index_path): if not node: return if node.size() and node.isFile(): IndexSearch.deleteDoc(str(node.absolute()), index_path) if node.hasChildren(): # if the node has children, get all of them tmp = node.children() for i in tmp: self.deleteRecurse(i, index, index_path)
def index_opt(self, changed, ret): # set labal to indicate that a dir is not indexed to empty self.notIndexed.setText("") conf = Conf() index_path = conf.index_path if ret == QDialog.Accepted: index = Index(index_path) index.createIndex() # config index index_c = self.opt.indexFileContent.checkState() index_a = self.opt.indexFileAttr.checkState() if index_c == Qt.Checked: index.setIndexContent(True) else: index.setIndexContent(False) if index_a == Qt.Checked: index.setIndexAttr(True) else: index.setIndexAttr(False) value = 0 for i in self.opt.un_index: recurse = self.opt.indexed_items[long(i)] node = VFS.Get().getNodeFromPointer(i) for (root_dir, files, dirs) in self.vfs.walk(node, True, 1): value += len(files) for i in self.opt.tmp_indexed_items: recurse = self.opt.tmp_indexed_items[long(i)] node = VFS.Get().getNodeFromPointer(i) for (root_dir, files, dirs) in self.vfs.walk(node, True, 1): value += len(files) self.emit(SIGNAL("number_max"), value) # delete doc from index (if any stuff are to be deleted) value = 0 for i in self.opt.un_index: recurse = self.opt.indexed_items[long(i)] node = VFS.Get().getNodeFromPointer(i) if recurse == True: tmp = node.children() for j in tmp: value += 1 IndexSearch.deleteDoc(str(j.absolute()).lower(), str(index_path).lower()) else: value += 1 self.deleteRecurse(node, index, index_path) self.emit(SIGNAL("number_indexed"), value) self.opt.indexed_items.pop(i) # adding new selected nodes in index for i in self.opt.tmp_indexed_items: node = VFS.Get().getNodeFromPointer(i) self.opt.indexed_items[i] = self.opt.tmp_indexed_items[i] # only index current node content if self.opt.indexed_items[i] == True: tmp = node.children() for ii in tmp: value += 1 index.indexData(ii) else: # index recursively value += 1 self.recurseNode(node, index) self.emit(SIGNAL("number_indexed"), value) self.opt.tmp_indexed_items.clear() index.closeIndex() # un-activated the check box for nodes which have been recursivly indexed. self.hide_recurse() # clear the un index dict self.opt.un_index.clear()