diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-06-05 16:20:58 +0000 |
commit | 5bb0bb4be543fd5eca41673696a62ed80d493591 (patch) | |
tree | ad2c464f140e86c7f178a6276d7ea4a93e3e6c92 /sphinx/environment/collectors | |
parent | Adding upstream version 7.2.6. (diff) | |
download | sphinx-upstream.tar.xz sphinx-upstream.zip |
Adding upstream version 7.3.7.upstream/7.3.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sphinx/environment/collectors')
-rw-r--r-- | sphinx/environment/collectors/__init__.py | 9 | ||||
-rw-r--r-- | sphinx/environment/collectors/asset.py | 7 | ||||
-rw-r--r-- | sphinx/environment/collectors/dependencies.py | 5 | ||||
-rw-r--r-- | sphinx/environment/collectors/metadata.py | 11 | ||||
-rw-r--r-- | sphinx/environment/collectors/title.py | 5 | ||||
-rw-r--r-- | sphinx/environment/collectors/toctree.py | 9 |
6 files changed, 27 insertions, 19 deletions
diff --git a/sphinx/environment/collectors/__init__.py b/sphinx/environment/collectors/__init__.py index c7e069a..c12dd50 100644 --- a/sphinx/environment/collectors/__init__.py +++ b/sphinx/environment/collectors/__init__.py @@ -41,19 +41,22 @@ class EnvironmentCollector: def clear_doc(self, app: Sphinx, env: BuildEnvironment, docname: str) -> None: """Remove specified data of a document. - This method is called on the removal of the document.""" + This method is called on the removal of the document. + """ raise NotImplementedError def merge_other(self, app: Sphinx, env: BuildEnvironment, docnames: set[str], other: BuildEnvironment) -> None: """Merge in specified data regarding docnames from a different `BuildEnvironment` - object which coming from a subprocess in parallel builds.""" + object which coming from a subprocess in parallel builds. + """ raise NotImplementedError def process_doc(self, app: Sphinx, doctree: nodes.document) -> None: """Process a document and gather specific data from it. - This method is called after the document is read.""" + This method is called after the document is read. + """ raise NotImplementedError def get_updated_docs(self, app: Sphinx, env: BuildEnvironment) -> list[str]: diff --git a/sphinx/environment/collectors/asset.py b/sphinx/environment/collectors/asset.py index c2066f4..451d659 100644 --- a/sphinx/environment/collectors/asset.py +++ b/sphinx/environment/collectors/asset.py @@ -5,7 +5,7 @@ from __future__ import annotations import os from glob import glob from os import path -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING from docutils import nodes from docutils.utils import relative_path @@ -22,6 +22,7 @@ if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment + from sphinx.util.typing import ExtensionMetadata logger = logging.getLogger(__name__) @@ -121,7 +122,7 @@ class DownloadFileCollector(EnvironmentCollector): env.dlfiles.merge_other(docnames, other.dlfiles) def process_doc(self, app: Sphinx, doctree: nodes.document) -> None: - """Process downloadable file paths. """ + """Process downloadable file paths.""" for node in doctree.findall(addnodes.download_reference): targetname = node['reftarget'] if '://' in targetname: @@ -136,7 +137,7 @@ class DownloadFileCollector(EnvironmentCollector): node['filename'] = app.env.dlfiles.add_file(app.env.docname, rel_filename) -def setup(app: Sphinx) -> dict[str, Any]: +def setup(app: Sphinx) -> ExtensionMetadata: app.add_env_collector(ImageCollector) app.add_env_collector(DownloadFileCollector) diff --git a/sphinx/environment/collectors/dependencies.py b/sphinx/environment/collectors/dependencies.py index df1f0c1..33b54b8 100644 --- a/sphinx/environment/collectors/dependencies.py +++ b/sphinx/environment/collectors/dependencies.py @@ -4,7 +4,7 @@ from __future__ import annotations import os from os import path -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING from docutils.utils import relative_path @@ -16,6 +16,7 @@ if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment + from sphinx.util.typing import ExtensionMetadata class DependenciesCollector(EnvironmentCollector): @@ -47,7 +48,7 @@ class DependenciesCollector(EnvironmentCollector): app.env.dependencies[app.env.docname].add(relpath) -def setup(app: Sphinx) -> dict[str, Any]: +def setup(app: Sphinx) -> ExtensionMetadata: app.add_env_collector(DependenciesCollector) return { diff --git a/sphinx/environment/collectors/metadata.py b/sphinx/environment/collectors/metadata.py index 5f737a9..bef3511 100644 --- a/sphinx/environment/collectors/metadata.py +++ b/sphinx/environment/collectors/metadata.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Any, cast +from typing import TYPE_CHECKING, cast from docutils import nodes @@ -11,6 +11,7 @@ from sphinx.environment.collectors import EnvironmentCollector if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment + from sphinx.util.typing import ExtensionMetadata class MetadataCollector(EnvironmentCollector): @@ -29,7 +30,7 @@ class MetadataCollector(EnvironmentCollector): Keep processing minimal -- just return what docutils says. """ - index = doctree.first_child_not_matching_class(nodes.PreBibliographic) + index = doctree.first_child_not_matching_class(nodes.PreBibliographic) # type: ignore[arg-type] if index is None: return elif isinstance(doctree[index], nodes.docinfo): @@ -46,11 +47,11 @@ class MetadataCollector(EnvironmentCollector): md[field_name.astext()] = field_body.astext() elif isinstance(node, nodes.TextElement): # other children must be TextElement - # see: https://docutils.sourceforge.io/docs/ref/doctree.html#bibliographic-elements # noqa: E501 + # see: https://docutils.sourceforge.io/docs/ref/doctree.html#bibliographic-elements # NoQA: E501 md[node.__class__.__name__] = node.astext() for name, value in md.items(): - if name in ('tocdepth',): + if name == 'tocdepth': try: value = int(value) except ValueError: @@ -60,7 +61,7 @@ class MetadataCollector(EnvironmentCollector): doctree.pop(index) -def setup(app: Sphinx) -> dict[str, Any]: +def setup(app: Sphinx) -> ExtensionMetadata: app.add_env_collector(MetadataCollector) return { diff --git a/sphinx/environment/collectors/title.py b/sphinx/environment/collectors/title.py index 014d77a..0760557 100644 --- a/sphinx/environment/collectors/title.py +++ b/sphinx/environment/collectors/title.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING from docutils import nodes @@ -12,6 +12,7 @@ from sphinx.transforms import SphinxContentsFilter if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment + from sphinx.util.typing import ExtensionMetadata class TitleCollector(EnvironmentCollector): @@ -51,7 +52,7 @@ class TitleCollector(EnvironmentCollector): app.env.longtitles[app.env.docname] = longtitlenode -def setup(app: Sphinx) -> dict[str, Any]: +def setup(app: Sphinx) -> ExtensionMetadata: app.add_env_collector(TitleCollector) return { diff --git a/sphinx/environment/collectors/toctree.py b/sphinx/environment/collectors/toctree.py index 772591e..6ea148c 100644 --- a/sphinx/environment/collectors/toctree.py +++ b/sphinx/environment/collectors/toctree.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import TYPE_CHECKING, Any, TypeVar, cast +from typing import TYPE_CHECKING, TypeVar, cast from docutils import nodes @@ -20,6 +20,7 @@ if TYPE_CHECKING: from sphinx.application import Sphinx from sphinx.environment import BuildEnvironment + from sphinx.util.typing import ExtensionMetadata N = TypeVar('N') @@ -201,7 +202,7 @@ class TocTreeCollector(EnvironmentCollector): numstack[-1] += 1 reference = cast(nodes.reference, subnode[0]) if depth > 0: - number = list(numstack) + number = numstack.copy() secnums[reference['anchorname']] = tuple(numstack) else: number = None @@ -283,7 +284,7 @@ class TocTreeCollector(EnvironmentCollector): secnum = secnum[:env.config.numfig_secnum_depth] counter[secnum] = counter.get(secnum, 0) + 1 - return secnum + (counter[secnum],) + return (*secnum, counter[secnum]) def register_fignumber(docname: str, secnum: tuple[int, ...], figtype: str, fignode: Element) -> None: @@ -345,7 +346,7 @@ def _make_anchor_name(ids: list[str], num_entries: list[int]) -> str: return anchorname -def setup(app: Sphinx) -> dict[str, Any]: +def setup(app: Sphinx) -> ExtensionMetadata: app.add_env_collector(TocTreeCollector) return { |