예제 #1
0
파일: gui.py 프로젝트: ktisha/ebook-service
 def __init__(self, parent=None):
     QWidget.__init__(self, parent)
     vbox = QVBoxLayout()
     hbox = QHBoxLayout()
     self.inpfield = QTextEdit(self)
     self.outpfield = QTextEdit(self)
     self.outpfield.setReadOnly(True)
     hbox.addWidget(self.inpfield)
     hbox.addWidget(self.outpfield)
     vbox.addItem(hbox)
     hbox = QHBoxLayout()
     self.loadbutton = QPushButton('load', self)
     self.checkbutton = QPushButton('check', self)
     hbox.addWidget(self.checkbutton)
     hbox.addWidget(self.loadbutton)
     vbox.addItem(hbox)
     hbox = QHBoxLayout()
     self.wordfield = QTextEdit(self)
     hbox.addWidget(self.wordfield)
     self.pairfield = QTextEdit(self)
     hbox.addWidget(self.pairfield)
     self.wordfield.setReadOnly(True)
     self.pairfield.setReadOnly(True)
     vbox.addItem(hbox)
     self.genrebox = QComboBox(self)
     vbox.addWidget(self.genrebox)
     self.setLayout(vbox)
     self.cls = Tag_manager()
     self.connect(self.loadbutton, SIGNAL('clicked()'),
         self.load)
     self.connect(self.checkbutton, SIGNAL('clicked()'),
         self.check)
     self.connect(self.genrebox, SIGNAL('currentIndexChanged(QString)'),
         self.showwords)
예제 #2
0
파일: gui.py 프로젝트: ktisha/ebook-service
class Clgui(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        vbox = QVBoxLayout()
        hbox = QHBoxLayout()
        self.inpfield = QTextEdit(self)
        self.outpfield = QTextEdit(self)
        self.outpfield.setReadOnly(True)
        hbox.addWidget(self.inpfield)
        hbox.addWidget(self.outpfield)
        vbox.addItem(hbox)
        hbox = QHBoxLayout()
        self.loadbutton = QPushButton('load', self)
        self.checkbutton = QPushButton('check', self)
        hbox.addWidget(self.checkbutton)
        hbox.addWidget(self.loadbutton)
        vbox.addItem(hbox)
        hbox = QHBoxLayout()
        self.wordfield = QTextEdit(self)
        hbox.addWidget(self.wordfield)
        self.pairfield = QTextEdit(self)
        hbox.addWidget(self.pairfield)
        self.wordfield.setReadOnly(True)
        self.pairfield.setReadOnly(True)
        vbox.addItem(hbox)
        self.genrebox = QComboBox(self)
        vbox.addWidget(self.genrebox)
        self.setLayout(vbox)
        self.cls = Tag_manager()
        self.connect(self.loadbutton, SIGNAL('clicked()'),
            self.load)
        self.connect(self.checkbutton, SIGNAL('clicked()'),
            self.check)
        self.connect(self.genrebox, SIGNAL('currentIndexChanged(QString)'),
            self.showwords)


    def load(self):
        self.loadbutton.setDisabled(True)
        self.genrebox.clear()
        self.cls.get_data('ru')
        self.genrebox.addItem('')
        for tag in sorted(self.cls.data):
            self.genrebox.addItem(tag)

    def check(self):
        text = unicode(self.inpfield.toPlainText())
        pre_tags = self.cls.find_tags(text, 'ru')
        tags = {}
        temptags = {}
        for tag in (sorted(pre_tags, key = pre_tags.get, reverse = True))[0:20]:
            if ((pre_tags[tag] * MAX_DIFF) >= pre_tags[sorted(pre_tags, key = pre_tags.get, reverse = True)[0]]):
                tags[tag] = pre_tags[tag]
            temptags[tag] = pre_tags[tag]
        if len(tags) > MAX_NUM:
            tags = {}
        outp = ""
        for t in sorted(temptags, key = temptags.get, reverse = True):
            outp += (str(temptags[t]) + ' - ' + t + "\n")
        self.outpfield.setPlainText(outp)

    def showwords(self, tag):
        tag = unicode(tag)
        if tag != '':
            self.wordfield.clear()
            self.pairfield.clear()
            for w in sorted(self.cls.data[tag], key = lambda x: 1.0*self.cls.data[tag][x].nonzero * self.cls.data[''][x].num/(self.cls.data[''][x].nonzero * self.cls.data[tag][x].num + self.cls.data[tag][x].nonzero * self.cls.data[''][x].num), reverse=True):
                self.wordfield.append(str(1.0*self.cls.data[tag][w].nonzero * self.cls.data[''][w].num/(self.cls.data[''][w].nonzero * self.cls.data[tag][w].num + self.cls.data[tag][w].nonzero * self.cls.data[''][w].num)) + ' - ' + w)
            for w in sorted(self.cls.pairdata[tag], key = lambda x: 1.0*self.cls.pairdata[tag][x].nonzero * self.cls.pairdata[''][x].num/(self.cls.pairdata[''][x].nonzero * self.cls.pairdata[tag][x].num + self.cls.pairdata[tag][x].nonzero * self.cls.pairdata[''][x].num), reverse=True):
                self.pairfield.append(str(1.0*self.cls.pairdata[tag][w].nonzero * self.cls.pairdata[''][w].num/(self.cls.pairdata[''][w].nonzero * self.cls.pairdata[tag][w].num + self.cls.pairdata[tag][w].nonzero * self.cls.pairdata[''][w].num)) + ' - ' + w)
        self.wordfield.verticalScrollBar().setValue(self.wordfield.verticalScrollBar().minimum())
        self.pairfield.verticalScrollBar().setValue(self.pairfield.verticalScrollBar().minimum())
예제 #3
0
from tag_manager import Tag_manager

# -*- coding: utf-8 -*-

d = Tag_manager()
d.get_data("ru")
d.check_all("ru", False)