Merge pull request #7954 from tk0miya/2076_exclude_members

Autodoc: Allow overriding of exclude-members in skip-member function
This commit is contained in:
Takeshi KOMIYA 2020-07-16 02:27:33 +09:00 committed by GitHub
commit e65021fb9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 10 deletions

View File

@ -16,6 +16,7 @@ Deprecated
Features added
--------------
* #2076: autodoc: Allow overriding of exclude-members in skip-member function
* #7849: html: Add :confval:`html_codeblock_linenos_style` to change the style
of line numbers for code-blocks
* #7853: C and C++, support parameterized GNU style attributes.

View File

@ -626,6 +626,10 @@ class Documenter:
if safe_getattr(member, '__sphinx_mock__', False):
# mocked module or object
pass
elif (self.options.exclude_members not in (None, ALL) and
membername in self.options.exclude_members):
# remove members given by exclude-members
keep = False
elif want_all and membername.startswith('__') and \
membername.endswith('__') and len(membername) > 4:
# special __methods__
@ -695,16 +699,6 @@ class Documenter:
# find out which members are documentable
members_check_module, members = self.get_object_members(want_all)
# remove members given by exclude-members
if self.options.exclude_members:
members = [
(membername, member) for (membername, member) in members
if (
self.options.exclude_members is ALL or
membername not in self.options.exclude_members
)
]
# document non-skipped members
memberdocumenters = [] # type: List[Tuple[Documenter, bool]]
for (mname, member, isattr) in self.filter_members(members, want_all):