PyAPI: utility function to print reports
This commit is contained in:
@@ -75,6 +75,19 @@ short BPy_reports_to_error(ReportList *reports, PyObject *exception, const bool
|
||||
return (report_str == NULL) ? 0 : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* A version of #BKE_report_write_file_fp that uses Python's stdout.
|
||||
*/
|
||||
void BPy_reports_write_stdout(const ReportList *reports, const char *header)
|
||||
{
|
||||
if (header) {
|
||||
PySys_WriteStdout("%s\n", header);
|
||||
}
|
||||
|
||||
for (const Report *report = reports->list.first; report; report = report->next) {
|
||||
PySys_WriteStdout("%s: %s\n", report->typestr, report->message);
|
||||
}
|
||||
}
|
||||
|
||||
bool BPy_errors_to_report_ex(ReportList *reports, const bool use_full, const bool use_location)
|
||||
{
|
||||
|
@@ -34,6 +34,7 @@ char *BPy_enum_as_string(const struct EnumPropertyItem *item);
|
||||
|
||||
/* error reporting */
|
||||
short BPy_reports_to_error(struct ReportList *reports, PyObject *exception, const bool clear);
|
||||
void BPy_reports_write_stdout(const struct ReportList *reports, const char *header);
|
||||
bool BPy_errors_to_report_ex(struct ReportList *reports, const bool use_full, const bool use_location);
|
||||
bool BPy_errors_to_report(struct ReportList *reports);
|
||||
|
||||
|
@@ -262,10 +262,7 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
|
||||
|
||||
/* operator output is nice to have in the terminal/console too */
|
||||
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);
|
||||
}
|
||||
BPy_reports_write_stdout(reports, NULL);
|
||||
}
|
||||
|
||||
BKE_reports_clear(reports);
|
||||
|
Reference in New Issue
Block a user