相关疑难解决方法(0)

Sphinx 没有记录复杂的 Enum 类

在我的代码中,我有一些复杂的 Enum 类型的类。例如:

class ComplexEnum(SomeOtherClass, Enum):
    """ Some documentation """

    MEMBER1 = SomeOtherClass(1)
    MEMBER2 = SomeOtherClass(2)

    def __init__(self, arg):
        """ more doc """
        pass

    def somemethod(self):
        """ more doc """
        pass

    @classmethod
    def someclassmethod(cls, otherparam):
        """ more doc """
        pass
Run Code Online (Sandbox Code Playgroud)

当我现在使用 autodoc 用 Sphinx 创建我的文档时,这个类被跳过了。我尝试将这样的自定义文档添加到我的 conf.py 文件中:

from sphinx.ext.autodoc import ClassDocumenter

class MyClassDocumenter(ClassDocumenter):
    objtype = 'ComplexEnum'
    directivetype = 'class'

    @classmethod
    def can_document_member(cls, member, membername, isattr, parent):
        return isinstance(member, ComplexEnum)

def setup(app):
    app.add_autodocumenter(MyClassDocumenter)
Run Code Online (Sandbox Code Playgroud)

但这也不起作用。

我怎样才能让 sphinx 记录那些类?

python enums python-sphinx autodoc

4
推荐指数
1
解决办法
1874
查看次数

标签 统计

autodoc ×1

enums ×1

python ×1

python-sphinx ×1