Skip to content

Commit

Permalink
Autodoc: Allow overriding of exclude-members in skip-member function
Browse files Browse the repository at this point in the history
  • Loading branch information
JelteF authored and tk0miya committed Jul 13, 2020
1 parent 293fa1e commit 09576ad
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions sphinx/ext/autodoc/__init__.py
Expand Up @@ -626,6 +626,10 @@ def is_filtered_inherited_member(name: str) -> bool:
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__
Expand Down Expand Up @@ -695,16 +699,6 @@ def document_members(self, all_members: bool = False) -> None:
# 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):
Expand Down

0 comments on commit 09576ad

Please sign in to comment.