f5060bc901
PyAPI: support retrieving the exception when running a string
...
- Optionally get the error as a single line.
- Support access the error as an allocated string.
- PyC_ExceptionBuffer_Simple was always printing to the `stdout` while
PyC_ExceptionBuffer didn't, now either print to the output.
Without this, callers are unable to do anything with the error string.
2021-04-13 15:28:43 +10:00
bb6765f28f
Cleanup: spelling
2021-03-18 09:36:44 +11:00
7bb2b910c0
Cleanup: doxygen sections
2021-02-20 15:35:00 +11:00
4430e8a008
Python: gpu module: add new submodules and types
...
This commit extends the gpu python API with:
```
gpu.types.Buffer #"__init__", "to_list"
gpu.types.GPUTexture #"__init__", "clear", "read", "format"
gpu.types.GPUFrameBuffer #"__init__", "bind", "clear", "is_bound", "viewport", ("__enter__", "__exit__" with "GPUFrameBufferStackContext")
gpu.types.GPUUniformBuf #"__init__", "update"
gpu.state #"blend_set", "blend_get", "depth_test_set", "depth_test_get", "depth_mask_set", "depth_mask_get", "viewport_set", "viewport_get", "line_width_set", "line_width_get", "point_size_set", "color_mask_set", "face_culling_set", "front_facing_set", "program_point_size_set"
```
Add these methods to existing objects:
```
gpu.types.GPUShader #"uniform_sample", "uniform_buffer"
```
Maniphest Tasks: T80481
Differential Revision: https://developer.blender.org/D8826
2021-02-17 12:27:19 -03:00
dae445d94a
Fix T85573: Building with Python 3.10a5 fails
...
Replace deprecated _PyUnicode_AsString{AndSize} usage.
T83626 still needs to be resolved before 3.10 is usable.
2021-02-13 23:09:55 +11:00
cafd6b519c
PyAPI: Use PyPreConfig & PyConfig for Python initialization
...
Use Python 3.8's API for setting the initial configuration.
This replaces a mix of our logic and direct calls to the Python API
and has no user visible changes.
Using the Python API makes the logic easier to follow and provides
utilities such as `PyConfig_SetBytesArgv`
that wasn't available in previous releases.
Note that this uses Python's utf8/wchar_t conversions,
which used to cause problems (see T31506).
Since `Py_UTF8Mode` was set, the systems locale isn't used for decoding,
allowing us to use Python's utility functions that call
`Py_DecodeLocale` internally.
Ref D10382
2021-02-12 08:10:12 +11:00
606805d1b7
Cleanup: use 'r_' prefix for return arguments, order last
2021-02-05 22:34:03 +11:00
af88d23ffa
Revert "Fix typo; Documentation; Expose layer for framebuffer attachament; Add framebuffer viewport setter; Remove framebuffer restore; Expose framebuffer push/pop stack API; Remove blend modes; Remove depth_range_set; Implement GPU_face_culling, GPU_front_facing, GPU_point_size, GPU_line_width, GPU_viewport, GPU_color_mask and GPU_depth_mask"
...
This reverts commit 9db3d1951d
.
This was an accidental commit of the patch D8826
2021-01-10 21:07:04 -03:00
9db3d1951d
Fix typo; Documentation; Expose layer for framebuffer attachament; Add framebuffer viewport setter; Remove framebuffer restore; Expose framebuffer push/pop stack API; Remove blend modes; Remove depth_range_set; Implement GPU_face_culling, GPU_front_facing, GPU_point_size, GPU_line_width, GPU_viewport, GPU_color_mask and GPU_depth_mask
2021-01-10 19:01:53 -03:00
d49c71e96e
Cleanup: use logging for "Found bundled Python" message
...
This was added when Python was initially bundled so any problems
finding Python could be investigated.
Move this to use logging so we can show this information when needed.
2020-11-02 19:33:32 +11:00
c7cd74fac3
Cleanup: multi-line comment blocks
2020-10-14 15:24:42 +11:00
2abfcebb0e
Cleanup: use C comments for descriptive text
...
Follow our code style guide by using C-comments for text descriptions.
2020-10-10 22:04:51 +11:00
Valentin
5ac4778056
Cleanup: convert gforge task ID's to phabricator format
...
Cleanup old tracker task format to the new. e.g: [#34039 ] to T34039
Ref D8718
2020-09-30 20:11:06 +10:00
efa7aaa97f
Cleanup: use const variables where possible in the Python API
2020-08-20 16:10:13 +10:00
397cec6a4d
Cleanup: Pass 'FILE *' instead of 'void *' for BPY_python_backtrace
...
This was committed as a temporary workaround in 82150f5641
as release builds were failing (only debug builds worked).
This adds `stdio.h` to the header which is now split into a file that
contains more specialized functionality.
Also move function body inside BPY_python_backtrace,
removing PyC_StackPrint as we have PyC_StackSpit() for
similar functionality that can be called from a debugger.
2020-08-17 18:31:04 +10:00
3d48d99647
Cleanup: Python, Clang-Tidy else-after-return fixes
...
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/python` module.
No functional changes.
2020-08-07 13:38:07 +02:00
3439cbcc69
Merge branch 'blender-v2.90-release' into master
2020-08-06 19:20:32 +10:00
82150f5641
Workaround release builds failing
...
Issue caused by e9c4325515
.
2020-08-06 19:19:25 +10:00
14dc1aecf0
Merge branch 'blender-v2.90-release' into master
2020-08-06 15:48:42 +10:00
Daniel Bailey
e9c4325515
Python: include Python stack trace in the crash log
...
This helps Python developers troubleshoot errors when
Python causes a crash.
2020-08-06 15:44:00 +10:00
c86fed79d5
Cleanup: use doxy sections for py_capi_utils.c
2020-08-06 13:51:28 +10:00
7beef1fd33
PyAPI: simplify syntax error reports
...
The result of syntax errors read poorly in reports,
resulting in cryptic and unhelpful information.
Change PyC_ExceptionBuffer_Simple only to extract the initial text,
making syntax errors when entering invalid numeric expressions into
buttons easier to follow.
2020-07-27 21:00:50 +10:00
8438ef4d8e
Cleanup: update comments, remove disabled code
2020-07-23 14:04:18 +10:00
19afb0ea67
Cleanup: remove redundant static variable use
...
This hasn't been needed since Python 3.7x.
2020-07-23 13:59:07 +10:00
2bc791437e
Cleanup: use 'r_' prefix for output arguments
...
Also pass some args as 'const'.
2020-03-25 17:58:58 +11:00
2a6df7dfe5
Cleanup: use named unsigned types in the Python API
2020-02-20 15:40:05 +11:00
576d385ddb
PyAPI: add utility functions get the size from an evaluated string
...
Allows including null bytes in the resulting string.
2019-12-11 18:04:44 +11:00
a0d675d88f
Merge branch 'blender-v2.81-release'
2019-10-22 17:42:09 +11:00
b5f77973a7
Cleanup: remove BLI_dynstr use in py_capi_utils
...
Needed for standalone mathutils module.
2019-10-22 17:38:48 +11:00
e413b39a93
PyAPI: use public API's for module & builtin access
...
D6038 by @Dormouse
2019-10-16 23:16:51 +11:00
9dd5e3b6e8
Cleanup: define PY_SSIZE_T_CLEAN for Python
...
Silence deprecation warnings running with Python 3.8.
2019-10-16 15:58:32 +11:00
a7cf7b114f
Fix for building with Python 3.8
2019-10-16 13:39:29 +11:00
07feb6e814
PyC API: utility to parse a string as an RNA like enum
...
More convenient than comparing strings,
with the advantage that errors don't need to repeat expected values.
2019-10-01 05:18:25 +10:00
6529d20d79
Cleanup: spelling in comments
2019-06-12 09:43:49 +10:00
778542fd8f
Cleanup: comments (long lines) in python
2019-04-29 20:01:10 +10:00
e12c08e8d1
ClangFormat: apply to source, most of intern
...
Apply clang format as proposed in T53211.
For details on usage and instructions for migrating branches
without conflicts, see:
https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
25ec4b437f
Cleanup: style, use braces for the Python API
2019-03-30 07:14:28 +11:00
de13d0a80c
doxygen: add newline after \file
...
While \file doesn't need an argument, it can't have another doxy
command after it.
2019-02-18 08:22:12 +11:00
eef4077f18
Cleanup: remove redundant doxygen \file argument
...
Move \ingroup onto same line to be more compact and
make it clear the file is in the group.
2019-02-06 15:45:22 +11:00
65ec7ec524
Cleanup: remove redundant, invalid info from headers
...
BF-admins agree to remove header information that isn't useful,
to reduce noise.
- BEGIN/END license blocks
Developers should add non license comments as separate comment blocks.
No need for separator text.
- Contributors
This is often invalid, outdated or misleading
especially when splitting files.
It's more useful to git-blame to find out who has developed the code.
See P901 for script to perform these edits.
2019-02-02 01:36:28 +11:00
f20dbc293f
Cleanup: blank lines over doxy headers
2019-01-26 21:43:24 +11:00
9bfc9d799e
PyAPI: Avoid redundant prefix for PyC_Err_Format_Prefix
...
Only show the exception value type when it's not a string.
2019-01-17 08:43:57 +11:00
debb68024e
PyAPI: add PyC_Err_SetString_Prefix for internal use
2019-01-17 08:38:59 +11:00
d022794cad
Cleanup: rename checks for Python struct strings
...
Using 'format' prefix made this read as if t was for string formatting.
Use 'PyC_StructFmt' prefix instead since these values are compatible
with formatting from Python's 'struct' module.
2018-10-08 08:37:32 +11:00
af7967b010
CPython: py_capi_utils: format char utilities do not need to be inline.
2018-10-07 12:22:17 -03:00
63658ae76d
Cleanup: redundant include
2018-09-26 10:55:22 +10:00
a4f2ebc78d
Spelling fixes in comments and descriptions, patch by luzpaz.
...
Differential Revision: https://developer.blender.org/D3700
2018-09-19 18:18:05 +02:00
7ff1750218
PyAPI: add optional imports to expression eval API
...
Avoids having to use `__import__` to access modules.
2018-09-03 12:43:43 +10:00
0ddf3e110e
Cleanup: comment blocks
2018-09-02 18:51:31 +10:00
98800aa4e0
C/Python API: Add PyC_RunString_AsIntPtr
...
Utility to get an int or pointer from a Python expression.
2018-08-31 14:21:32 +10:00