diff options
author | Ned Deily <nad@acm.org> | 2014-09-22 21:44:22 (GMT) |
---|---|---|
committer | Ned Deily <nad@acm.org> | 2014-09-22 21:44:22 (GMT) |
commit | b682fd3dbb09772a060ee65c05e77145b24283a3 (patch) | |
tree | 033c14c0191cf73f1799321b179ca94b0f4b3b70 /Doc/tools | |
parent | 4bd60980ecd4039242d015f77b46e1c789de0887 (diff) | |
download | cpython-b682fd3dbb09772a060ee65c05e77145b24283a3.zip cpython-b682fd3dbb09772a060ee65c05e77145b24283a3.tar.gz cpython-b682fd3dbb09772a060ee65c05e77145b24283a3.tar.bz2 |
Issue #21431: merge from 3.4
Diffstat (limited to 'Doc/tools')
-rw-r--r-- | Doc/tools/sphinxext/pyspecific.py | 32 |
1 files changed, 6 insertions, 26 deletions
diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py index d1b492a..a03096c 100644 --- a/Doc/tools/sphinxext/pyspecific.py +++ b/Doc/tools/sphinxext/pyspecific.py @@ -14,12 +14,10 @@ SOURCE_URI = 'https://hg.python.org/cpython/file/default/%s' from docutils import nodes, utils -import sphinx from sphinx.util.nodes import split_explicit_title from sphinx.util.compat import Directive from sphinx.writers.html import HTMLTranslator from sphinx.writers.latex import LaTeXTranslator -from sphinx.locale import versionlabels # monkey-patch reST parser to disable alphabetic and roman enumerated lists from docutils.parsers.rst.states import Body @@ -28,20 +26,6 @@ Body.enum.converters['loweralpha'] = \ Body.enum.converters['lowerroman'] = \ Body.enum.converters['upperroman'] = lambda x: None -SPHINX11 = sphinx.__version__[:3] < '1.2' - -if SPHINX11: - # monkey-patch HTML translator to give versionmodified paragraphs a class - def new_visit_versionmodified(self, node): - self.body.append(self.starttag(node, 'p', CLASS=node['type'])) - text = versionlabels[node['type']] % node['version'] - if len(node): - text += ':' - else: - text += '.' - self.body.append('<span class="versionmodified">%s</span> ' % text) - 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 @@ -174,10 +158,9 @@ class DeprecatedRemoved(Directive): content.line = node[0].line content += node[0].children node[0].replace_self(nodes.paragraph('', '', content)) - if not SPHINX11: node[0].insert(0, nodes.inline('', '%s: ' % text, classes=['versionmodified'])) - elif not SPHINX11: + else: para = nodes.paragraph('', '', nodes.inline('', '%s.' % text, classes=['versionmodified'])) if len(node): @@ -188,9 +171,6 @@ class DeprecatedRemoved(Directive): env.note_versionchange('deprecated', version[0], node, self.lineno) return [node] + messages -# for Sphinx < 1.2 -versionlabels['deprecated-removed'] = DeprecatedRemoved._label - # Support for including Misc/NEWS @@ -289,14 +269,14 @@ class PydocTopicsBuilder(Builder): document.append(doctree.ids[labelid]) destination = StringOutput(encoding='utf-8') writer.write(document, destination) - self.topics[label] = writer.output.encode('utf-8') + self.topics[label] = writer.output def finish(self): - f = open(path.join(self.outdir, 'topics.py'), 'w') + f = open(path.join(self.outdir, 'topics.py'), 'wb') try: - f.write('# -*- coding: utf-8 -*-\n') - f.write('# Autogenerated by Sphinx on %s\n' % asctime()) - f.write('topics = ' + pformat(self.topics) + '\n') + f.write('# -*- coding: utf-8 -*-\n'.encode('utf-8')) + f.write(('# Autogenerated by Sphinx on %s\n' % asctime()).encode('utf-8')) + f.write(('topics = ' + pformat(self.topics) + '\n').encode('utf-8')) finally: f.close() |