Listing the "Blender Foundation" as copyright holder implied the Blender Foundation holds copyright to files which may include work from many developers. While keeping copyright on headers makes sense for isolated libraries, Blender's own code may be refactored or moved between files in a way that makes the per file copyright holders less meaningful. Copyright references to the "Blender Foundation" have been replaced with "Blender Authors", with the exception of `./extern/` since these this contains libraries which are more isolated, any changed to license headers there can be handled on a case-by-case basis. Some directories in `./intern/` have also been excluded: - `./intern/cycles/` it's own `AUTHORS` file is planned. - `./intern/opensubdiv/`. An "AUTHORS" file has been added, using the chromium projects authors file as a template. Design task: #110784 Ref !110783.
58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/* SPDX-FileCopyrightText: 2023 Blender Authors
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup pythonintern
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#if PY_VERSION_HEX < 0x030a0000
|
|
# error "Python 3.10 or greater is required, you'll need to update your Python."
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct ReportList;
|
|
|
|
/* error reporting */
|
|
short BPy_reports_to_error(struct ReportList *reports, PyObject *exception, bool clear);
|
|
/**
|
|
* A version of #BKE_report_write_file_fp that uses Python's stdout.
|
|
*/
|
|
void BPy_reports_write_stdout(const struct ReportList *reports, const char *header);
|
|
bool BPy_errors_to_report_ex(struct ReportList *reports,
|
|
const char *error_prefix,
|
|
bool use_full,
|
|
bool use_location);
|
|
/**
|
|
* \param reports: When set, an error will be added to this report, when NULL, print the error.
|
|
*
|
|
* \note Unless the caller handles printing the reports (or reports is NULL) it's best to ensure
|
|
* the output is printed to the `stdout/stderr`:
|
|
* \code{.cc}
|
|
* BPy_errors_to_report(reports);
|
|
* if (!BKE_reports_print_test(reports)) {
|
|
* BKE_reports_print(reports);
|
|
* }
|
|
* \endcode
|
|
*
|
|
* \note The caller is responsible for clearing the error (see #PyErr_Clear).
|
|
*/
|
|
bool BPy_errors_to_report(struct ReportList *reports);
|
|
|
|
struct bContext *BPY_context_get(void);
|
|
|
|
extern void bpy_context_set(struct bContext *C, PyGILState_STATE *gilstate);
|
|
/**
|
|
* Context should be used but not now because it causes some bugs.
|
|
*/
|
|
extern void bpy_context_clear(struct bContext *C, const PyGILState_STATE *gilstate);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|