PyDoc: fix missing classmethod docs for Python classes

Classmethod descriptors were not handled, causing methods in
bpy_extras.anim_utils and bpy_extras.asset_utils to be excluded
from documentation entirely.
This commit is contained in:
Campbell Barton 2026-02-12 09:41:18 +00:00
parent a977e71471
commit 3fbd91578b

View file

@ -1204,6 +1204,12 @@ def pyclass2sphinx(fw, module_name, type_name, value, write_class_examples):
if type(descr) == GetSetDescriptorType:
py_descr2sphinx(" ", fw, descr, module_name, type_name, key, is_class=True)
# Needed for pure Python classes.
for key, descr in descr_items:
if type(descr) == classmethod:
descr = getattr(value, key)
pyfunc2sphinx(" ", fw, module_name, type_name, key, descr, is_class=True)
for key, descr in descr_items:
if type(descr) == StaticMethodType:
descr = getattr(value, key)