summaryrefslogtreecommitdiff
path: root/sphinx/directives/patches.py
diff options
context:
space:
mode:
authorAdam Turner <9087854+aa-turner@users.noreply.github.com>2022-05-22 21:09:39 +0100
committerAdam Turner <9087854+AA-Turner@users.noreply.github.com>2022-09-27 18:31:47 +0100
commitbb62d2a2ee7d6d4b79b269c837ebf8d57aee0795 (patch)
tree1ff11cd7b3291a5004c5b8bf0ba83394331ebfd9 /sphinx/directives/patches.py
parent080517ce55119a6358337b5f939b3942e4de63b4 (diff)
downloadsphinx-git-bb62d2a2ee7d6d4b79b269c837ebf8d57aee0795.tar.gz
Increase minimum Docutils to 0.18
Diffstat (limited to 'sphinx/directives/patches.py')
-rw-r--r--sphinx/directives/patches.py28
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