diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py index c3d385306..39fa02d31 100644 --- a/sphinx/util/docutils.py +++ b/sphinx/util/docutils.py @@ -28,7 +28,7 @@ from docutils.utils import Reporter, unescape from packaging import version from sphinx.errors import SphinxError -from sphinx.locale import _ +from sphinx.locale import _, __ from sphinx.util import logging from sphinx.util.typing import RoleFunction @@ -496,6 +496,9 @@ class SphinxTranslator(nodes.NodeVisitor): else: super().dispatch_departure(node) + def unknown_visit(self, node: Node) -> None: + logger.warning(__('unknown node type: %r'), node, location=node) + # cache a vanilla instance of nodes.document # Used in new_document() function diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index fead4c61d..143c2ef71 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -876,9 +876,6 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator): if depart: depart(self, node) - def unknown_visit(self, node: Node) -> None: - raise NotImplementedError('Unknown node: ' + node.__class__.__name__) - @property def permalink_text(self) -> str: warnings.warn('HTMLTranslator.permalink_text is deprecated.', diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py index bba07f447..adb463662 100644 --- a/sphinx/writers/html5.py +++ b/sphinx/writers/html5.py @@ -811,9 +811,6 @@ class HTML5Translator(SphinxTranslator, BaseTranslator): if depart: depart(self, node) - def unknown_visit(self, node: Node) -> None: - raise NotImplementedError('Unknown node: ' + node.__class__.__name__) - @property def permalink_text(self) -> str: warnings.warn('HTMLTranslator.permalink_text is deprecated.', diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index 6f7e20241..d33f92dce 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -2077,9 +2077,6 @@ class LaTeXTranslator(SphinxTranslator): def depart_math_reference(self, node: Element) -> None: pass - def unknown_visit(self, node: Node) -> None: - raise NotImplementedError('Unknown node: ' + node.__class__.__name__) - # FIXME: Workaround to avoid circular import # refs: https://github.com/sphinx-doc/sphinx/issues/5433 diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index bcf4e98b3..3bcf650a7 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -11,7 +11,7 @@ from typing import Any, Dict, Iterable, cast from docutils import nodes -from docutils.nodes import Element, Node, TextElement +from docutils.nodes import Element, TextElement from docutils.writers.manpage import Translator as BaseTranslator from docutils.writers.manpage import Writer @@ -462,6 +462,3 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator): def depart_math_block(self, node: Element) -> None: self.depart_centered(node) - - def unknown_visit(self, node: Node) -> None: - raise NotImplementedError('Unknown node: ' + node.__class__.__name__) diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index 9a281dc9a..c764b3027 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -1281,10 +1281,6 @@ class TexinfoTranslator(SphinxTranslator): logger.warning(__("unimplemented node type: %r"), node, location=node) - def unknown_visit(self, node: Node) -> None: - logger.warning(__("unknown node type: %r"), node, - location=node) - def unknown_departure(self, node: Node) -> None: pass diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index ba310e072..e7ccf30b8 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -16,7 +16,7 @@ from typing import (TYPE_CHECKING, Any, Dict, Generator, Iterable, List, Optiona Union, cast) from docutils import nodes, writers -from docutils.nodes import Element, Node, Text +from docutils.nodes import Element, Text from docutils.utils import column_width from sphinx import addnodes @@ -1189,6 +1189,3 @@ class TextTranslator(SphinxTranslator): def depart_math_block(self, node: Element) -> None: self.end_state() - - def unknown_visit(self, node: Node) -> None: - raise NotImplementedError('Unknown node: ' + node.__class__.__name__)