示例#1
0
 def on_actionConfigure_triggered(self, checked):
     """
     Slot documentation goes here.
     """
     self.openConfig = Dialog_config(self.list_dump)
     self.openConfig.show()
     self.list_dump = self.openConfig.stringlist
示例#2
0
class MainWindow(QMainWindow, Ui_Wiki_Tool):
    """
    Class documentation goes here.
    """
    def __init__(self, parent = None):
        """
        Constructor: 
        """
        QMainWindow.__init__(self, parent)
        self.setupUi(self)
        self.list_dump = QtCore.QStringList()
        
        
    @pyqtSignature("bool")
    def on_actionConfigure_triggered(self, checked):
        """
        Slot documentation goes here.
        """
        self.openConfig = Dialog_config(self.list_dump)
        self.openConfig.show()
        self.list_dump = self.openConfig.stringlist
    
    @pyqtSignature("bool")
    def on_actionAbout_triggered(self, checked):
        """
        Slot documentation goes here.
        """
        self.openAbout = Form_about()
        self.openAbout.show()
        

#------ Add article name --------
    @pyqtSignature("")
    def on_pushButton_add_clicked(self):
        """
        Add article
        """
        self.textEdit_articlelist.append(self.lineEdit_articlename.text())
        self.lineEdit_articlename.clear()
    
    @pyqtSignature("")
    def on_lineEdit_articlename_returnPressed(self):
        """
        Add article
        """
        self.textEdit_articlelist.append(self.lineEdit_articlename.text())
        self.lineEdit_articlename.clear()


#----- Prepare for starting ------
    def get_pagename(self):
        
        list_pagename = []
        titlelistString = str(self.textEdit_articlelist.toPlainText().toUtf8()).decode("utf-8")
        for x in titlelistString.strip().split("\n"):
            if x:
                t = pagename.PageName(x)
                if self.checkBox_main.isChecked():
                    list_pagename.extend(t.get_page_name())
                if self.checkBox_talk.isChecked():
                    list_pagename.extend(t.get_talk_name())
                if self.checkBox_othertalk.isChecked():
                    list_pagename.extend(t.get_othertalks_name())
                if self.checkBox_archives.isChecked():
                    list_pagename.extend(t.get_archive_name())
        return list_pagename
        
    def addText(self, text,  result = False):
        """
        Add text
        """
        if result == True:
            self.textBrowser_result.append(text)
        else:
            self.textBrowser_status.append(text)
            
    def finished(self):
        """
        when finish, change text of button
        """
        for n, thread in enumerate(self.pool):
            thread.stop()
            thread.quit()
            thread.wait()
        self.threadend()
    
    def threadend(self):
        stopall = False
        for one_thread in self.pool:
            if one_thread.isRunning(): 
                stopall = False
                break
            else:
                stopall = True
        if stopall:
            self.actionRun.setText("Run")
        
    @pyqtSignature("bool")      
    def on_actionRun_triggered(self, checked):
        """
        Slot documentation goes here.
        """
        global listArticle
        listArticle = self.get_pagename()
        if self.actionRun.text() == "Run":
            self.pool = []
            if len(listArticle):
                self.actionRun.setText("Stop")
                for i,  dump in enumerate(self.list_dump):
                    self.pool.append(MyThread(dump, i + 1))
                    self.pool[-1].start()
                    self.connect(self.pool[-1], QtCore.SIGNAL("msg"), self.addText)
                    self.connect(self.pool[-1], QtCore.SIGNAL("end"), self.finished)
                    self.connect(self.pool[-1], QtCore.SIGNAL("thread_end"), self.threadend)
            else:
                msgstring = "No page to find"
                self.addText(msgstring)
        else:
            self.finished()