forked from bartvdbraak/blender
PyAPI: Use separate writes for operator reports
This allows us to temp override the stdout and extract individual reports
This commit is contained in:
parent
532b735ee8
commit
2fd3b9ad84
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user