Campbell Barton
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
Campbell Barton
bb6765f28f
Cleanup: spelling
2021-03-18 09:36:44 +11:00
Campbell Barton
7bb2b910c0
Cleanup: doxygen sections
2021-02-20 15:35:00 +11:00
Germano Cavalcante
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
606805d1b7
Cleanup: use 'r_' prefix for return arguments, order last
2021-02-05 22:34:03 +11:00
Germano Cavalcantemano-wii
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
Germano Cavalcantemano-wii
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
Campbell Barton
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
Campbell Barton
c7cd74fac3
Cleanup: multi-line comment blocks
2020-10-14 15:24:42 +11:00
Campbell Barton
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
Campbell Barton
efa7aaa97f
Cleanup: use const variables where possible in the Python API
2020-08-20 16:10:13 +10:00
Campbell Barton
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
Sybren A. Stüvel
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
Campbell Barton
3439cbcc69
Merge branch 'blender-v2.90-release' into master
2020-08-06 19:20:32 +10:00
Campbell Barton
82150f5641
Workaround release builds failing
...
Issue caused by e9c4325515 .
2020-08-06 19:19:25 +10:00
Campbell Barton
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
Campbell Barton
c86fed79d5
Cleanup: use doxy sections for py_capi_utils.c
2020-08-06 13:51:28 +10:00
Campbell Barton
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
Campbell Barton
8438ef4d8e
Cleanup: update comments, remove disabled code
2020-07-23 14:04:18 +10:00
Campbell Barton
19afb0ea67
Cleanup: remove redundant static variable use
...
This hasn't been needed since Python 3.7x.
2020-07-23 13:59:07 +10:00
Campbell Barton
2bc791437e
Cleanup: use 'r_' prefix for output arguments
...
Also pass some args as 'const'.
2020-03-25 17:58:58 +11:00
Campbell Barton
2a6df7dfe5
Cleanup: use named unsigned types in the Python API
2020-02-20 15:40:05 +11:00
Campbell Barton
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
Campbell Barton
a0d675d88f
Merge branch 'blender-v2.81-release'
2019-10-22 17:42:09 +11:00
Campbell Barton
b5f77973a7
Cleanup: remove BLI_dynstr use in py_capi_utils
...
Needed for standalone mathutils module.
2019-10-22 17:38:48 +11:00
Campbell Barton
e413b39a93
PyAPI: use public API's for module & builtin access
...
D6038 by @Dormouse
2019-10-16 23:16:51 +11:00
Campbell Barton
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
Campbell Barton
a7cf7b114f
Fix for building with Python 3.8
2019-10-16 13:39:29 +11:00
Campbell Barton
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
Campbell Barton
6529d20d79
Cleanup: spelling in comments
2019-06-12 09:43:49 +10:00
Campbell Barton
778542fd8f
Cleanup: comments (long lines) in python
2019-04-29 20:01:10 +10:00
Campbell Barton
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
Campbell Barton
25ec4b437f
Cleanup: style, use braces for the Python API
2019-03-30 07:14:28 +11:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
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
Campbell Barton
f20dbc293f
Cleanup: blank lines over doxy headers
2019-01-26 21:43:24 +11:00
Campbell Barton
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
Campbell Barton
debb68024e
PyAPI: add PyC_Err_SetString_Prefix for internal use
2019-01-17 08:38:59 +11:00
Campbell Barton
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
mano-wii
af7967b010
CPython: py_capi_utils: format char utilities do not need to be inline.
2018-10-07 12:22:17 -03:00
Campbell Barton
63658ae76d
Cleanup: redundant include
2018-09-26 10:55:22 +10:00
Brecht Van Lommel
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
Campbell Barton
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
Campbell Barton
0ddf3e110e
Cleanup: comment blocks
2018-09-02 18:51:31 +10:00
Campbell Barton
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