diff --git a/python/plugins/processing/gui/BatchAlgorithmDialog.py b/python/plugins/processing/gui/BatchAlgorithmDialog.py index 34898d8a2154..0bfcf3939a4a 100644 --- a/python/plugins/processing/gui/BatchAlgorithmDialog.py +++ b/python/plugins/processing/gui/BatchAlgorithmDialog.py @@ -137,7 +137,7 @@ def runAlgorithm(self): feedback.pushInfo(self.tr('Results:')) feedback.pushCommandInfo(pformat(results)) feedback.pushInfo('') - algorithm_results.append(results) + algorithm_results.append({'parameters': parameters, 'results': results}) else: break @@ -151,7 +151,7 @@ def runAlgorithm(self): def finish(self, algorithm_results): for count, results in enumerate(algorithm_results): - self.loadHTMLResults(results, count) + self.loadHTMLResults(results['results'], count) self.createSummaryTable(algorithm_results) self.mainWidget().setEnabled(True) @@ -176,12 +176,24 @@ def createSummaryTable(self, algorithm_results): outputFile = getTempFilename('html') with codecs.open(outputFile, 'w', encoding='utf-8') as f: - for res in algorithm_results: - f.write('
\n') + for i, res in enumerate(algorithm_results): + results = res['results'] + params = res['parameters'] + if i > 0: + f.write('
\n') + f.write(self.tr('

Parameters

\n')) + f.write('\n') + for param in self.algorithm().parameterDefinitions(): + if not param.isDestination(): + if param.name() in params: + f.write('\n'.format(param.description(), params[param.name()])) + f.write('
{}{}
\n') + f.write(self.tr('

Results

\n')) + f.write('\n') for out in self.algorithm().outputDefinitions(): - if isinstance(out, (QgsProcessingOutputNumber, QgsProcessingOutputString)) and out.name() in res: - f.write('

{}: {}

\n'.format(out.description(), res[out.name()])) - f.write('
\n') + if out.name() in results: + f.write('\n'.format(out.description(), results[out.name()])) + f.write('
{}{}
\n') resultsList.addResult(icon=self.algorithm().icon(), name='{} [summary]'.format(self.algorithm().name()), timestamp=time.localtime(),