class RecieveThread(QtCore.QThread, TcpConfig): err = QtCore.pyqtSignal(str) downloadStart = QtCore.pyqtSignal(str) decryptStart = QtCore.pyqtSignal() decompressStart = QtCore.pyqtSignal() downloadComplete = QtCore.pyqtSignal() fileDownloaded = QtCore.pyqtSignal(str) fileCount = QtCore.pyqtSignal(int) update = False cur_path = str def __init__(self): super(RecieveThread, self).__init__() self.client = TcpClient() QtCore.QObject.connect(self.client, QtCore.SIGNAL("downloadStart(QString)"), self.on_download_start) QtCore.QObject.connect(self.client, QtCore.SIGNAL("decryptStart()"), self.on_decrypt_start) QtCore.QObject.connect(self.client, QtCore.SIGNAL("decompressStart()"), self.on_decompress_start) QtCore.QObject.connect(self.client, QtCore.SIGNAL("downloadComplete()"), self.on_download_complete) QtCore.QObject.connect(self.client, QtCore.SIGNAL("fileDownloaded(QString)"), self.on_file_downloaded) QtCore.QObject.connect(self.client, QtCore.SIGNAL("fileCount(int)"), self.on_file_count) def set_configs(self, tcpserver, tcpport, usr, pwd, update, path): self.TCPServer = tcpserver self.TCPPort = tcpport self.user = usr self.passwd = pwd self.update = update self.cur_path = path def on_file_downloaded(self, fname): self.fileDownloaded.emit(fname) def on_download_start(self, fname): self.downloadStart.emit(fname) def on_decrypt_start(self): self.decryptStart.emit() def on_decompress_start(self): self.decompressStart.emit() def on_download_complete(self): self.downloadComplete.emit() def on_file_count(self, cnt): self.fileCount.emit(cnt) def run(self): if self.client.connect(self.TCPServer, self.TCPPort, self.user, self.passwd): self.client.get_files(self.update, self.cur_path) self.client.close()