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(),