[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25669] trunk/blender: sphinx support for documenting multiple return values
Campbell Barton
ideasman42 at gmail.com
Sat Jan 2 19:55:07 CET 2010
Revision: 25669
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25669
Author: campbellbarton
Date: 2010-01-02 19:55:07 +0100 (Sat, 02 Jan 2010)
Log Message:
-----------
sphinx support for documenting multiple return values
Modified Paths:
--------------
trunk/blender/release/scripts/modules/rna_info.py
trunk/blender/source/blender/python/sphinx_doc_gen.py
Modified: trunk/blender/release/scripts/modules/rna_info.py
===================================================================
--- trunk/blender/release/scripts/modules/rna_info.py 2010-01-02 17:33:44 UTC (rev 25668)
+++ trunk/blender/release/scripts/modules/rna_info.py 2010-01-02 18:55:07 UTC (rev 25669)
@@ -252,19 +252,22 @@
self.description = rna_func.description.strip()
self.args = []
- self.return_value = None
+ self.return_values = ()
def build(self):
rna_func = self.bl_func
parent_id = rna_func
+ self.return_values = []
for rna_prop in rna_func.parameters.values():
prop = GetInfoPropertyRNA(rna_prop, parent_id)
if rna_prop.use_return:
- self.return_value = prop
+ self.return_values.append(prop)
else:
self.args.append(prop)
+ self.return_values = tuple(self.return_values)
+
def __repr__(self):
txt = ''
txt += ' * ' + self.identifier + '('
@@ -566,8 +569,8 @@
func.build()
for prop in func.args:
prop.build()
- if func.return_value:
- func.return_value.build()
+ for prop in func.return_values:
+ prop.build()
# now for operators
op_mods = dir(bpy.ops)
Modified: trunk/blender/source/blender/python/sphinx_doc_gen.py
===================================================================
--- trunk/blender/source/blender/python/sphinx_doc_gen.py 2010-01-02 17:33:44 UTC (rev 25668)
+++ trunk/blender/source/blender/python/sphinx_doc_gen.py 2010-01-02 18:55:07 UTC (rev 25669)
@@ -115,8 +115,8 @@
#if not struct.identifier.startswith("Sc") and not struct.identifier.startswith("I"):
# return
- #if not struct.identifier.startswith("Bone"):
- # return
+ if not struct.identifier == "Object":
+ return
filepath = os.path.join(BASEPATH, "bpy.types.%s.rst" % struct.identifier)
file = open(filepath, "w")
@@ -182,8 +182,17 @@
for prop in func.args:
write_param(" ", fw, prop)
- if func.return_value:
- write_param(" ", fw, func.return_value, is_return=True)
+ if len(func.return_values) == 1:
+ write_param(" ", fw, func.return_values[0], is_return=True)
+ else: # multiple return values
+ fw(" :return (%s):\n" % ", ".join([prop.identifier for prop in func.return_values]))
+ for prop in func.return_values:
+ type_descr = prop.get_type_description(as_arg=True, class_fmt=":class:`%s`")
+ descr = prop.description
+ if not descr:
+ descr = prop.name
+ fw(" `%s`, %s, %s\n\n" % (prop.identifier, descr, type_descr))
+
fw("\n")
More information about the Bf-blender-cvs
mailing list