[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