Exemplo n.º 1
0
    def AddTreeNodes(self, filename):

        # filename = '../data/唐诗三百首.txt'
        # filename = '../data/唐诗三百首/唐诗三百首之.卷八、五言绝句.txt'
        # filename = '../data/唐诗三百首/唐诗三百首之.卷二、五言乐府.txt'
        # 获取文件名作为总节点
        # (path,rootfile) = os.path.split(filename)
        # (rootm,roote) = os.path.splitext(rootfile)
        # self.tree.DeleteChildren(self.root)

        # text=''
        # encoding = None
        encoding, begin = encdet.detect(filename)
        data = open(filename, "r").read().decode(encoding)
        items = data.split("\n\n")

        # log.debug(*items)
        for item in items:
            log.debug("item:\n" + item)
            lines = item.splitlines()

            index = 0
            lens = len(lines)
            while index < lens and lines[index][0] == "#":
                log.debug("comment line:" + lines[index])
                index += 1
            if index >= lens:
                log.debug("empty area,get next area")
                continue  # empty item
            title = lines[index]

            log.debug("title: " + title)

            dir = self.tree.AppendItem(self.root, title.encode("utf8"))
            self.tree.SetItemPyData(dir, title)
            self.tree.SetItemImage(dir, self.fldridx, wx.TreeItemIcon_Normal)
            self.tree.SetItemImage(dir, self.fldropenidx, wx.TreeItemIcon_Expanded)

            # log.debug(item)

            # log.debug(lines[1])

            for line in lines[1:]:
                words = line.split(" ")
                for word in words:
                    if not word:
                        continue
                    it = self.tree.AppendItem(dir, word.encode("utf8"))
                    self.tree.SetItemPyData(it, word)
                    self.tree.SetItemImage(it, self.fileidx, wx.TreeItemIcon_Normal)
Exemplo n.º 2
0
    def AddTreeNodes(self,filename):

        #filename = '../data/唐诗三百首.txt'
        #filename = '../data/唐诗三百首/唐诗三百首之.卷八、五言绝句.txt'
        #filename = '../data/唐诗三百首/唐诗三百首之.卷二、五言乐府.txt'
        #获取文件名作为总节点
        #(path,rootfile) = os.path.split(filename)
        #(rootm,roote) = os.path.splitext(rootfile)


        #text=''
        #encoding = None
        #self.tree.DeleteAllItems()
        log.debug('open '+filename)
        encoding,begin = encdet.detect(filename)
        data = open(filename,'rU').read().decode(encoding)
        items = data.split('=============================')
        titles = items[0].splitlines()
        rootm = titles[-2]
        log.debug('root'+rootm)

        root = self.tree.AppendItem(self.root,rootm)
        self.tree.SetItemImage(root, self.fldridx,
                               wx.TreeItemIcon_Normal)
        self.tree.SetItemImage(root, self.fldropenidx,
                               wx.TreeItemIcon_Expanded)

        #log.debug(*items)
        for item  in items[1:]:
            #log.debug(item)
            line = item.splitlines()
            log.debug(line[1])
            it = self.tree.AppendItem(root,line[1].encode('utf8'))
            self.tree.SetItemPyData(it,item)
            self.tree.SetItemImage(it, self.fileidx,
                                   wx.TreeItemIcon_Normal)