--- a/PluginMetricsRadon.py Mon Sep 14 20:18:39 2015 +0200 +++ b/PluginMetricsRadon.py Tue Sep 15 19:22:38 2015 +0200 @@ -47,12 +47,12 @@ """ Class implementing the radon code metrics plug-in. - @signal metricsDone(str, list) emitted when the code metrics were + @signal metricsDone(str, dict) emitted when the code metrics were determined for a file @signal metricsError(str, str) emitted in case of an error @signal batchFinished() emitted when a code metrics batch is done """ - metricsDone = pyqtSignal(str, list) + metricsDone = pyqtSignal(str, dict) metricsError = pyqtSignal(str, str) batchFinished = pyqtSignal() @@ -70,16 +70,28 @@ self.backgroundService = e5App().getObject("BackgroundService") path = os.path.join(os.path.dirname(__file__), packageName) - self.backgroundService.serviceConnect( - 'radon', 'Python2', path, 'CodeMetricsCalculator', - lambda *args: self.metricsDone.emit(*args), - onErrorCallback=self.serviceErrorPy2, - onBatchDone=self.batchJobDone) - self.backgroundService.serviceConnect( - 'radon', 'Python3', path, 'CodeMetricsCalculator', - lambda *args: self.metricsDone.emit(*args), - onErrorCallback=self.serviceErrorPy3, - onBatchDone=self.batchJobDone) + try: + self.backgroundService.serviceConnect( + 'radon', 'Python2', path, 'CodeMetricsCalculator', + lambda *args: self.metricsDone.emit(*args), + onErrorCallback=self.serviceErrorPy2, + onBatchDone=self.batchJobDone) + self.backgroundService.serviceConnect( + 'radon', 'Python3', path, 'CodeMetricsCalculator', + lambda *args: self.metricsDone.emit(*args), + onErrorCallback=self.serviceErrorPy3, + onBatchDone=self.batchJobDone) + self.hasBatch = True + except TypeError: + self.backgroundService.serviceConnect( + 'radon', 'Python2', path, 'CodeMetricsCalculator', + lambda *args: self.metricsDone.emit(*args), + onErrorCallback=self.serviceErrorPy2) + self.backgroundService.serviceConnect( + 'radon', 'Python3', path, 'CodeMetricsCalculator', + lambda *args: self.metricsDone.emit(*args), + onErrorCallback=self.serviceErrorPy3) + self.hasBatch = False self.queuedBatches = [] self.batchesFinished = True