removing epydocs for mathutils and geometry mododules (now they are in sphinx)
[blender.git] / doc / python_api / sphinx_doc_gen.py
index 9d6180d870f8890d4bc72a1ff36bb91fd63204b6..48dce92bee394710f6f1b7918e12b139b0ac9113 100644 (file)
@@ -51,7 +51,6 @@ import os
 import inspect
 import bpy
 import rna_info
-reload(rna_info)
 
 # lame, python wont give some access
 ClassMethodDescriptorType = type(dict.__dict__['fromkeys'])
@@ -64,11 +63,16 @@ EXAMPLE_SET_USED = set()
 _BPY_STRUCT_FAKE = "bpy_struct"
 _BPY_FULL_REBUILD = False
 
+
 def undocumented_message(module_name, type_name, identifier):
-    message = "Undocumented (`contribute " \
-        "<http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute" \
-        "?action=edit&section=new&preload=Dev:2.5/Py/API/Documentation/Contribute/Howto-message" \
-        "&preloadtitle=%s.%s.%s>`_)\n\n" % (module_name, type_name, identifier)
+    if str(type_name).startswith('<module'):
+        preloadtitle = '%s.%s' % (module_name, identifier)
+    else:
+        preloadtitle = '%s.%s.%s' % (module_name, type_name, identifier)
+    message = "Undocumented (`contribute "\
+        "<http://wiki.blender.org/index.php/Dev:2.5/Py/API/Documentation/Contribute"\
+        "?action=edit&section=new&preload=Dev:2.5/Py/API/Documentation/Contribute/Howto-message"\
+        "&preloadtitle=%s>`_)\n\n" % preloadtitle
     return message
 
 
@@ -224,6 +228,16 @@ def pymodule2sphinx(BASEPATH, module_name, module, title):
     # write members of the module
     # only tested with PyStructs which are not exactly modules
     for key, descr in sorted(type(module).__dict__.items()):
+        if key.startswith("__"):
+            continue
+        # naughty, we also add getset's into PyStructs, this is not typical py but also not incorrect.
+        if type(descr) == types.GetSetDescriptorType: # 'bpy_app_type' name is only used for examples and messages
+            py_descr2sphinx("", fw, descr, module_name, "bpy_app_type", key)
+            attribute_set.add(key)
+    for key, descr in sorted(type(module).__dict__.items()):
+        if key.startswith("__"):
+            continue
+
         if type(descr) == types.MemberDescriptorType:
             if descr.__doc__:
                 fw(".. data:: %s\n\n" % key)
@@ -395,6 +409,9 @@ def rna2sphinx(BASEPATH):
 
 
     fw("   mathutils.rst\n\n")
+    fw("   mathutils.geometry.rst\n\n")
+    # XXX TODO
+    #fw("   bgl.rst\n\n")
     fw("   blf.rst\n\n")
     fw("   aud.rst\n\n")
     
@@ -446,13 +463,13 @@ def rna2sphinx(BASEPATH):
     fw("\n")
     fw("This module is used for all blender/python access.\n")
     fw("\n")
-    fw(".. literalinclude:: ../examples/bpy.data.py\n")
-    fw("\n")
     fw(".. data:: data\n")
     fw("\n")
     fw("   Access to blenders internal data\n")
     fw("\n")
     fw("   :type: :class:`bpy.types.BlendData`\n")
+    fw("\n")
+    fw(".. literalinclude:: ../examples/bpy.data.py\n")
     file.close()
 
     EXAMPLE_SET_USED.add("bpy.data")
@@ -475,11 +492,20 @@ def rna2sphinx(BASEPATH):
     import mathutils as module
     pymodule2sphinx(BASEPATH, "mathutils", module, "Math Types & Utilities (mathutils)")
     del module
+    
+    import mathutils.geometry as module
+    pymodule2sphinx(BASEPATH, "mathutils.geometry", module, "Geometry Utilities (mathutils.geometry)")
+    del module
 
     import blf as module
     pymodule2sphinx(BASEPATH, "blf", module, "Font Drawing (blf)")
     del module
     
+    # XXX TODO
+    #import bgl as module
+    #pymodule2sphinx(BASEPATH, "bgl", module, "Blender OpenGl wrapper (bgl)")
+    #del module
+
     import aud as module
     pymodule2sphinx(BASEPATH, "aud", module, "Audio System (aud)")
     del module