--- a/Project/ProjectTranslationsBrowser.py Mon Feb 05 19:15:47 2018 +0100 +++ b/Project/ProjectTranslationsBrowser.py Mon Feb 05 19:59:18 2018 +0100 @@ -830,27 +830,25 @@ return True - def __readStdoutLupdate(self): + def __readStdoutLupdate(self, proc): """ Private slot to handle the readyReadStandardOutput signal of the pylupdate process. + + @param proc reference to the process + @type QProcess """ - proc = self.sender() - if proc is not None: - self.__readStdout(proc, '{0}: '.format(self.pylupdate)) - else: - return + self.__readStdout(proc, '{0}: '.format(self.pylupdate)) - def __readStdoutLrelease(self): + def __readStdoutLrelease(self, proc): """ Private slot to handle the readyReadStandardOutput signal of the lrelease process. + + @param proc reference to the process + @type QProcess """ - proc = self.sender() - if proc is not None: - self.__readStdout(proc, 'lrelease: ') - else: - return + self.__readStdout(proc, 'lrelease: ') def __readStdout(self, proc, ps): """ @@ -868,27 +866,25 @@ s += output self.appendStdout.emit(s) - def __readStderrLupdate(self): + def __readStderrLupdate(self, proc): """ Private slot to handle the readyReadStandardError signal of the pylupdate4/pylupdate5/pyside-lupdate process. + + @param proc reference to the process + @type QProcess """ - proc = self.sender() - if proc is not None: - self.__readStderr(proc, '{0}: '.format(self.pylupdate)) - else: - return + self.__readStderr(proc, '{0}: '.format(self.pylupdate)) - def __readStderrLrelease(self): + def __readStderrLrelease(self, proc): """ Private slot to handle the readyReadStandardError signal of the lrelease process. + + @param proc reference to the process + @type QProcess """ - proc = self.sender() - if proc is not None: - self.__readStderr(proc, 'lrelease: ') - else: - return + self.__readStderr(proc, 'lrelease: ') def __readStderr(self, proc, ps): """ @@ -917,12 +913,16 @@ if self.hooks["extractMessages"] is not None: self.hooks["extractMessages"]() - def __generateTSFileDone(self, exitCode, exitStatus): + def __generateTSFileDone(self, exitCode, exitStatus, proc): """ Private slot to handle the finished signal of the pylupdate process. - @param exitCode exit code of the process (integer) - @param exitStatus exit status of the process (QProcess.ExitStatus) + @param exitCode exit code of the process + @type int + @param exitStatus exit status of the process + @type QProcess.ExitStatus + @param proc reference to the process + @type QProcess """ if exitStatus == QProcess.NormalExit and exitCode == 0: ui = e5App().getObject("UserInterface") @@ -952,7 +952,6 @@ "The generation of the translation files (*.ts) has" " failed.{0}").format(info)) - proc = self.sender() for index in range(len(self.__pylupdateProcesses)): if proc == self.__pylupdateProcesses[index][0]: try: @@ -1044,9 +1043,12 @@ path, filename = os.path.split(tempProjectFile) args.append(filename) proc.setWorkingDirectory(os.path.join(self.project.ppath, path)) - proc.finished.connect(self.__generateTSFileDone) - proc.readyReadStandardOutput.connect(self.__readStdoutLupdate) - proc.readyReadStandardError.connect(self.__readStderrLupdate) + proc.finished.connect( + lambda c, s: self.__generateTSFileDone(c, s, proc)) + proc.readyReadStandardOutput.connect( + lambda: self.__readStdoutLupdate(proc)) + proc.readyReadStandardError.connect( + lambda: self.__readStderrLupdate(proc)) proc.start(self.pylupdate, args) procStarted = proc.waitForStarted() @@ -1106,12 +1108,16 @@ ## Methods for the release commands ########################################################################### - def __releaseTSFileDone(self, exitCode, exitStatus): + def __releaseTSFileDone(self, exitCode, exitStatus, proc): """ Private slot to handle the finished signal of the lrelease process. - @param exitCode exit code of the process (integer) - @param exitStatus exit status of the process (QProcess.ExitStatus) + @param exitCode exit code of the process + @type int + @param exitStatus exit status of the process + @type QProcess.ExitStatus + @param proc reference to the process + @type QProcess """ if exitStatus == QProcess.NormalExit and exitCode == 0: ui = e5App().getObject("UserInterface") @@ -1144,7 +1150,6 @@ self.tr( "The release of the translation files (*.qm) has failed.")) - proc = self.sender() for index in range(len(self.__lreleaseProcesses)): if proc == self.__lreleaseProcesses[index][0]: try: @@ -1214,9 +1219,12 @@ path, filename = os.path.split(tempProjectFile) args.append(filename) proc.setWorkingDirectory(os.path.join(self.project.ppath, path)) - proc.finished.connect(self.__releaseTSFileDone) - proc.readyReadStandardOutput.connect(self.__readStdoutLrelease) - proc.readyReadStandardError.connect(self.__readStderrLrelease) + proc.finished.connect( + lambda c, s: self.__releaseTSFileDone(c, s, proc)) + proc.readyReadStandardOutput.connect( + lambda: self.__readStdoutLrelease(proc)) + proc.readyReadStandardError.connect( + lambda: self.__readStderrLrelease(proc)) proc.start(lrelease, args) procStarted = proc.waitForStarted()