diff options
author | Adam Turner <9087854+aa-turner@users.noreply.github.com> | 2022-05-22 21:09:39 +0100 |
---|---|---|
committer | Adam Turner <9087854+AA-Turner@users.noreply.github.com> | 2022-09-27 18:31:47 +0100 |
commit | bb62d2a2ee7d6d4b79b269c837ebf8d57aee0795 (patch) | |
tree | 1ff11cd7b3291a5004c5b8bf0ba83394331ebfd9 /sphinx/directives/patches.py | |
parent | 080517ce55119a6358337b5f939b3942e4de63b4 (diff) | |
download | sphinx-git-bb62d2a2ee7d6d4b79b269c837ebf8d57aee0795.tar.gz |
Increase minimum Docutils to 0.18
Diffstat (limited to 'sphinx/directives/patches.py')
-rw-r--r-- | sphinx/directives/patches.py | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py index a0bf26262..833a9ff0b 100644 --- a/sphinx/directives/patches.py +++ b/sphinx/directives/patches.py @@ -1,14 +1,14 @@ import os from os import path -from typing import TYPE_CHECKING, Any, Dict, List, Sequence, cast +from typing import TYPE_CHECKING, Any, Dict, List, cast from docutils import nodes from docutils.nodes import Node, make_id from docutils.parsers.rst import directives from docutils.parsers.rst.directives import images, tables +from docutils.parsers.rst.directives.misc import Meta # type: ignore[attr-defined] from docutils.parsers.rst.roles import set_classes -from sphinx import addnodes from sphinx.directives import optional_int from sphinx.domains.math import MathDomain from sphinx.locale import __ @@ -18,30 +18,6 @@ from sphinx.util.nodes import set_source_info from sphinx.util.osutil import SEP, os_path, relpath from sphinx.util.typing import OptionSpec -try: - from docutils.parsers.rst.directives.misc import Meta as Meta # type: ignore -except ImportError: - # docutils-0.17 - from docutils.parsers.rst.directives.html import Meta as MetaBase - - class Meta(MetaBase, SphinxDirective): # type: ignore - def run(self) -> Sequence[Node]: # type: ignore - result = super().run() - for node in result: - # for docutils-0.17. Since docutils-0.18, patching is no longer needed - # because it uses picklable node; ``docutils.nodes.meta``. - if (isinstance(node, nodes.pending) and - isinstance(node.details['nodes'][0], addnodes.docutils_meta)): - meta = node.details['nodes'][0] - meta.source = self.env.doc2path(self.env.docname) - meta.line = self.lineno - meta.rawcontent = meta['content'] - - # docutils' meta nodes aren't picklable because the class is nested - meta.__class__ = addnodes.meta - - return result - if TYPE_CHECKING: from sphinx.application import Sphinx |