From aa81aed1097af3dba799fdad5e56175c14ef71d5 Mon Sep 17 00:00:00 2001 From: nutti Date: Fri, 6 Dec 2024 17:29:48 +0900 Subject: [PATCH] PyDoc: add 'rtype' field for multiple return values Ref: !131482 --- doc/python_api/sphinx_doc_gen.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py index 07d3366c7f9..56db0d1cd79 100644 --- a/doc/python_api/sphinx_doc_gen.py +++ b/doc/python_api/sphinx_doc_gen.py @@ -1675,7 +1675,8 @@ def pyrna2sphinx(basepath): if len(func.return_values) == 1: write_param(" ", fw, func.return_values[0], is_return=True) elif func.return_values: # Multiple return values. - fw(" :return ({:s}):\n".format(", ".join(prop.identifier for prop in func.return_values))) + fw(" :return:\n") + type_descrs = [] for prop in func.return_values: # TODO: pyrna_enum2sphinx for multiple return values, # actually don't think we even use this but still! @@ -1690,6 +1691,7 @@ def pyrna2sphinx(basepath): collection_id=_BPY_PROP_COLLECTION_ID, enum_descr_override=enum_descr_override, ) + type_descrs.append(type_descr) descr = prop.description if not descr: descr = prop.name @@ -1698,6 +1700,7 @@ def pyrna2sphinx(basepath): prop.identifier, ", ".join((val for val in (descr, type_descr) if val)) )) + fw(" :rtype: ({:s})\n".format(", ".join(type_descrs))) write_example_ref(" ", fw, struct_module_name + "." + struct_id + "." + func.identifier)