无法为模块中的单个类覆盖自动模块选项“ undoc-members”

时间:2019-07-29 07:41:47

标签: python ctypes python-sphinx autodoc

我有一个继承自ctypes的类。使用 .. automodule:: root.analyzers.rs232.Analyzer1 :members: :undoc-members: :show-inheritance: .. autoclass:: Analyzer1.DebugSetup.SetupFields :no-undoc-members: 属性定义的结构。

我在所有模块文件夹上运行了sphinx autodoc,其中AUTODOC_DEFAULT_OPTIONS包含“ undoc-members”。

据我所读,“ undoc-members”会为未提供文档字符串的类生成文档。这对于我正在从事的项目非常有用。但是我需要在一种情况下例外。

对于继承ctypes.Structure的类,我想覆盖该类中属性的自动文档,并且希望该类中提供的docstring应用于生成的文档中。但是我做不到。 undoc-members还记录了在本例中从ctypes.Structure继承的类的示例中提供的具有文档字符串的成员。

我已经尝试过的:


.. automodule:: root.analyzers.rs232.Analyzer1
   :members:
   :undoc-members:
   :show-inheritance:
   :exclude-members: DebugSetup.SetupFields

This code sample is working fine. They might fix the issue, right now. 

这些都不起作用。这里的问题是,我想为模块中的大多数类保留:undoc-members:,除了其中的某些类(以我的情况为2个)。

我对使用Sphinx autodoc进行事件处理不熟悉。根据我的阅读,唯一的解决方案似乎是为感兴趣的对象(在这种情况下为类)被解析时编写一个事件处理程序,然后我们可以在解析或处理文档字符串时覆盖默认选项。给定的课程。

所以我的期望是,我需要重写该类的默认文档(继承自ctypes.Structure),并且引擎必须采用我在该类的docstring中提供的文档。

0 个答案:

没有答案