[Bf-blender-cvs] [2fd3b9a] master: PyAPI: Use separate writes for operator reports

Campbell Barton noreply at git.blender.org
Sun Jul 12 14:31:13 CEST 2015


Commit: 2fd3b9ad846621c8d3002fa561bd3fd6a972b8af
Author: Campbell Barton
Date:   Sun Jul 12 22:16:54 2015 +1000
Branches: master
https://developer.blender.org/rB2fd3b9ad846621c8d3002fa561bd3fd6a972b8af

PyAPI: Use separate writes for operator reports

This allows us to temp override the stdout and extract individual reports

===================================================================

M	source/blender/python/intern/bpy_operator.c

===================================================================

diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c
index 8309938..fc17173 100644
--- a/source/blender/python/intern/bpy_operator.c
+++ b/source/blender/python/intern/bpy_operator.c
@@ -36,6 +36,7 @@
 #include "RNA_types.h"
 
 #include "BLI_utildefines.h"
+#include "BLI_listbase.h"
 #include "BLI_string.h"
 
 #include "BPY_extern.h"
@@ -251,12 +252,10 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
 			error_val = BPy_reports_to_error(reports, PyExc_RuntimeError, false);
 
 			/* operator output is nice to have in the terminal/console too */
-			if (reports->list.first) {
-				char *report_str = BKE_reports_string(reports, 0); /* all reports */
-	
-				if (report_str) {
-					PySys_WriteStdout("%s\n", report_str);
-					MEM_freeN(report_str);
+			if (!BLI_listbase_is_empty(&reports->list)) {
+				Report *report;
+				for (report = reports->list.first; report; report = report->next) {
+					PySys_WriteStdout("%s: %s\n", report->typestr, report->message);
 				}
 			}




More information about the Bf-blender-cvs mailing list