[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31259] trunk/blender/source/blender/ python/doc/sphinx_doc_gen.py: add support for documenting class methods
Campbell Barton
ideasman42 at gmail.com
Wed Aug 11 19:13:39 CEST 2010
Revision: 31259
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31259
Author: campbellbarton
Date: 2010-08-11 19:13:39 +0200 (Wed, 11 Aug 2010)
Log Message:
-----------
add support for documenting class methods
Modified Paths:
--------------
trunk/blender/source/blender/python/doc/sphinx_doc_gen.py
Modified: trunk/blender/source/blender/python/doc/sphinx_doc_gen.py
===================================================================
--- trunk/blender/source/blender/python/doc/sphinx_doc_gen.py 2010-08-11 16:40:36 UTC (rev 31258)
+++ trunk/blender/source/blender/python/doc/sphinx_doc_gen.py 2010-08-11 17:13:39 UTC (rev 31259)
@@ -45,6 +45,7 @@
reload(rna_info)
# lame, python wont give some access
+ClassMethodDescriptorType = type(dict.__dict__['fromkeys'])
MethodDescriptorType = type(dict.get)
GetSetDescriptorType = type(int.real)
@@ -151,10 +152,10 @@
if type(descr) == GetSetDescriptorType:
fw(ident + ".. attribute:: %s\n\n" % identifier)
write_indented_lines(ident + " ", fw, doc, False)
- elif type(descr) == MethodDescriptorType: # GetSetDescriptorType's are not documented yet
+ elif type(descr) in (MethodDescriptorType, ClassMethodDescriptorType):
write_indented_lines(ident, fw, doc, False)
else:
- raise TypeError("type was not GetSetDescriptorType or MethodDescriptorType")
+ raise TypeError("type was not GetSetDescriptorType, MethodDescriptorType or ClassMethodDescriptorType")
write_example_ref(ident, fw, module_name + "." + type_name + "." + identifier)
fw("\n")
@@ -268,6 +269,10 @@
descr_items = [(key, descr) for key, descr in sorted(value.__dict__.items()) if not key.startswith("__")]
for key, descr in descr_items:
+ if type(descr) == ClassMethodDescriptorType: # GetSetDescriptorType's are not documented yet
+ py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
+
+ for key, descr in descr_items:
if type(descr) == MethodDescriptorType: # GetSetDescriptorType's are not documented yet
py_descr2sphinx(" ", fw, descr, module_name, type_name, key)
More information about the Bf-blender-cvs
mailing list