|
29 | 29 | from sphinx.locale import translators |
30 | 30 | from sphinx.util import status_iterator, logging |
31 | 31 | from sphinx.util.nodes import split_explicit_title |
32 | | -from sphinx.writers.html import HTMLTranslator |
33 | 32 | from sphinx.writers.text import TextWriter, TextTranslator |
34 | 33 | from sphinx.writers.latex import LaTeXTranslator |
35 | 34 | from sphinx.domains.python import PyModulelevel, PyClassmember |
|
49 | 48 | Body.enum.converters['lowerroman'] = \ |
50 | 49 | Body.enum.converters['upperroman'] = lambda x: None |
51 | 50 |
|
52 | | -# monkey-patch HTML and LaTeX translators to keep doctest blocks in the |
53 | | -# doctest docs themselves |
54 | | -orig_visit_literal_block = HTMLTranslator.visit_literal_block |
55 | | -orig_depart_literal_block = LaTeXTranslator.depart_literal_block |
56 | | - |
57 | | - |
58 | | -def new_visit_literal_block(self, node): |
59 | | - meta = self.builder.env.metadata[self.builder.current_docname] |
60 | | - old_trim_doctest_flags = self.highlighter.trim_doctest_flags |
61 | | - if 'keepdoctest' in meta: |
62 | | - self.highlighter.trim_doctest_flags = False |
63 | | - try: |
64 | | - orig_visit_literal_block(self, node) |
65 | | - finally: |
66 | | - self.highlighter.trim_doctest_flags = old_trim_doctest_flags |
67 | | - |
68 | | - |
69 | | -def new_depart_literal_block(self, node): |
70 | | - meta = self.builder.env.metadata[self.curfilestack[-1]] |
71 | | - old_trim_doctest_flags = self.highlighter.trim_doctest_flags |
72 | | - if 'keepdoctest' in meta: |
73 | | - self.highlighter.trim_doctest_flags = False |
74 | | - try: |
75 | | - orig_depart_literal_block(self, node) |
76 | | - finally: |
77 | | - self.highlighter.trim_doctest_flags = old_trim_doctest_flags |
78 | | - |
79 | | - |
80 | | -HTMLTranslator.visit_literal_block = new_visit_literal_block |
81 | | -LaTeXTranslator.depart_literal_block = new_depart_literal_block |
82 | | - |
83 | 51 |
|
84 | 52 | # Support for marking up and linking to bugs.python.org issues |
85 | 53 |
|
|
0 commit comments