[Python-checkins] cpython (2.7): Fix compatibility with upcoming Sphinx 1.2.

georg.brandl python-checkins at python.org
Sat Oct 12 20:51:45 CEST 2013


http://hg.python.org/cpython/rev/52d8df5fc023
changeset:   86247:52d8df5fc023
branch:      2.7
parent:      86244:3303d735058f
user:        Georg Brandl <georg at python.org>
date:        Sat Oct 12 20:50:21 2013 +0200
summary:
  Fix compatibility with upcoming Sphinx 1.2.

files:
  Doc/tools/sphinxext/pyspecific.py |  33 +++++++++---------
  1 files changed, 17 insertions(+), 16 deletions(-)


diff --git a/Doc/tools/sphinxext/pyspecific.py b/Doc/tools/sphinxext/pyspecific.py
--- a/Doc/tools/sphinxext/pyspecific.py
+++ b/Doc/tools/sphinxext/pyspecific.py
@@ -5,7 +5,7 @@
 
     Sphinx extension with Python doc-specific markup.
 
-    :copyright: 2008, 2009, 2010 by Georg Brandl.
+    :copyright: 2008-2013 by Georg Brandl.
     :license: Python license.
 """
 
@@ -13,7 +13,12 @@
 SOURCE_URI = 'http://hg.python.org/cpython/file/2.7/%s'
 
 from docutils import nodes, utils
+
+import sphinx
 from sphinx.util.nodes import split_explicit_title
+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
@@ -22,21 +27,17 @@
     Body.enum.converters['lowerroman'] = \
     Body.enum.converters['upperroman'] = lambda x: None
 
-# 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)
-
-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
+if sphinx.__version__[:3] < '1.2':
+    # 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

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list