Cleanup: separate format-units for Python argument parsing

With the increased use of multi-character format units and keyword-only
arguments these are increasingly difficult to make sense of.

Split the string onto multiple lines, one per argument.
While verbose it's easier to understand and add new arguments.
This commit is contained in:
2022-04-08 09:41:28 +10:00
parent 87a3bf3356
commit 982aea88e0
23 changed files with 603 additions and 69 deletions

View File

@@ -96,8 +96,18 @@ static PyObject *pygpu_shader__tp_new(PyTypeObject *UNUSED(type), PyObject *args
static const char *_keywords[] = {
"vertexcode", "fragcode", "geocode", "libcode", "defines", "name", NULL};
static _PyArg_Parser _parser = {"ss|$ssss:GPUShader.__new__", _keywords, 0};
static _PyArg_Parser _parser = {
"s" /* `vertexcode` */
"s" /* `fragcode` */
"|$" /* Optional keyword only arguments. */
"s" /* `geocode` */
"s" /* `libcode` */
"s" /* `defines` */
"s" /* `name` */
":GPUShader.__new__",
_keywords,
0,
};
if (!_PyArg_ParseTupleAndKeywordsFast(args,
kwds,
&_parser,
@@ -751,7 +761,14 @@ static PyObject *pygpu_shader_from_builtin(PyObject *UNUSED(self), PyObject *arg
struct PyC_StringEnum pygpu_config = {pygpu_shader_config_items, GPU_SHADER_CFG_DEFAULT};
static const char *_keywords[] = {"shader_name", "config", NULL};
static _PyArg_Parser _parser = {"O&|$O&:from_builtin", _keywords, 0};
static _PyArg_Parser _parser = {
"O&" /* `shader_name` */
"|$" /* Optional keyword only arguments. */
"O&" /* `config` */
":from_builtin",
_keywords,
0,
};
if (!_PyArg_ParseTupleAndKeywordsFast(args,
kwds,
&_parser,