Slightly simplify toctree code (#12724)

This commit is contained in:
Tim Hoffmann 2024-08-09 22:22:12 +02:00 committed by GitHub
parent 4f270a5da9
commit d40840ebf1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -78,17 +78,19 @@ class TocTree(SphinxDirective):
subnode['numbered'] = self.options.get('numbered', 0)
subnode['titlesonly'] = 'titlesonly' in self.options
self.set_source_info(subnode)
self.parse_content(subnode)
wrappernode = nodes.compound(
classes=['toctree-wrapper', *self.options.get('class', ())],
)
wrappernode.append(subnode)
self.add_name(wrappernode)
return [wrappernode]
ret = self.parse_content(subnode)
ret.append(wrappernode)
return ret
def parse_content(self, toctree: addnodes.toctree) -> list[Node]:
def parse_content(self, toctree: addnodes.toctree) -> None:
"""
Populate ``toctree['entries']`` and ``toctree['includefiles']`` from content.
"""
generated_docnames = frozenset(StandardDomain._virtual_doc_names)
suffixes = self.config.source_suffix
current_docname = self.env.docname
@ -99,7 +101,6 @@ class TocTree(SphinxDirective):
all_docnames.remove(current_docname) # remove current document
frozen_all_docnames = frozenset(all_docnames)
ret: list[Node] = []
excluded = Matcher(self.config.exclude_patterns)
for entry in self.content:
if not entry:
@ -170,8 +171,6 @@ class TocTree(SphinxDirective):
toctree['entries'] = list(reversed(toctree['entries']))
toctree['includefiles'] = list(reversed(toctree['includefiles']))
return ret
class Author(SphinxDirective):
"""