from sphinx.locale import translators
from sphinx.util import status_iterator, logging
from sphinx.util.nodes import split_explicit_title
-from sphinx.writers.html import HTMLTranslator
from sphinx.writers.text import TextWriter, TextTranslator
from sphinx.writers.latex import LaTeXTranslator
from sphinx.domains.python import PyModulelevel, PyClassmember
Body.enum.converters['lowerroman'] = \
Body.enum.converters['upperroman'] = lambda x: None
-# monkey-patch HTML and LaTeX translators to keep doctest blocks in the
-# doctest docs themselves
-orig_visit_literal_block = HTMLTranslator.visit_literal_block
-orig_depart_literal_block = LaTeXTranslator.depart_literal_block
-
-
-def new_visit_literal_block(self, node):
- meta = self.builder.env.metadata[self.builder.current_docname]
- old_trim_doctest_flags = self.highlighter.trim_doctest_flags
- if 'keepdoctest' in meta:
- self.highlighter.trim_doctest_flags = False
- try:
- orig_visit_literal_block(self, node)
- finally:
- self.highlighter.trim_doctest_flags = old_trim_doctest_flags
-
-
-def new_depart_literal_block(self, node):
- meta = self.builder.env.metadata[self.curfilestack[-1]]
- old_trim_doctest_flags = self.highlighter.trim_doctest_flags
- if 'keepdoctest' in meta:
- self.highlighter.trim_doctest_flags = False
- try:
- orig_depart_literal_block(self, node)
- finally:
- self.highlighter.trim_doctest_flags = old_trim_doctest_flags
-
-
-HTMLTranslator.visit_literal_block = new_visit_literal_block
-LaTeXTranslator.depart_literal_block = new_depart_literal_block
-
# Support for marking up and linking to bugs.python.org issues