mirror of
https://github.com/python/cpython.git
synced 2025-07-31 23:23:11 +00:00
Issue #12947: revert earlier workaround and use a monkey-patch to enable showing doctest directives only in the doctest docs.
This commit is contained in:
parent
3650ea2a9f
commit
83e51f48a8
2 changed files with 37 additions and 23 deletions
|
@ -33,9 +33,38 @@ def new_visit_versionmodified(self, node):
|
|||
self.body.append('<span class="versionmodified">%s</span> ' % text)
|
||||
|
||||
from sphinx.writers.html import HTMLTranslator
|
||||
from sphinx.writers.latex import LaTeXTranslator
|
||||
from sphinx.locale import versionlabels
|
||||
HTMLTranslator.visit_versionmodified = new_visit_versionmodified
|
||||
HTMLTranslator.visit_versionmodified = new_visit_versionmodified
|
||||
|
||||
# monkey-patch HTML and LaTeX translators to keep doctest blocks in the
|
||||
# doctest docs themselves
|
||||
orig_visit_literal_block = HTMLTranslator.visit_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
|
||||
|
||||
HTMLTranslator.visit_literal_block = new_visit_literal_block
|
||||
|
||||
orig_depart_literal_block = LaTeXTranslator.depart_literal_block
|
||||
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
|
||||
|
||||
LaTeXTranslator.depart_literal_block = new_depart_literal_block
|
||||
|
||||
# Support for marking up and linking to bugs.python.org issues
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue