]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[2.7] fix pydoc-topics to work with Sphinx 1.7 (GH-6502)
authorBenjamin Peterson <benjamin@python.org>
Tue, 17 Apr 2018 06:54:08 +0000 (23:54 -0700)
committerGitHub <noreply@github.com>
Tue, 17 Apr 2018 06:54:08 +0000 (23:54 -0700)
In fact, we now require a newer Sphinx version because APIs have moved around..
(cherry picked from commit acfb087f9f5590e5174a30eced3c2fe911f49d70)

Doc/tools/extensions/pyspecific.py

index 7bbd580d203bdedeffbd4dca1d6745c2139db96b..8c45274bb27b51c4184f18e798da25d4f1805259 100644 (file)
@@ -15,9 +15,11 @@ SOURCE_URI = 'https://github.com/python/cpython/tree/2.7/%s'
 from docutils import nodes, utils
 from docutils.parsers.rst import Directive
 
+from sphinx.util import status_iterator
 from sphinx.util.nodes import split_explicit_title
 from sphinx.writers.html import HTMLTranslator
 from sphinx.writers.latex import LaTeXTranslator
+from sphinx.writers.text import TextTranslator
 
 # monkey-patch reST parser to disable alphabetic and roman enumerated lists
 from docutils.parsers.rst.states import Body
@@ -158,8 +160,11 @@ from sphinx.writers.text import TextWriter
 class PydocTopicsBuilder(Builder):
     name = 'pydoc-topics'
 
+    default_translator_class = TextTranslator
+
     def init(self):
         self.topics = {}
+        self.secnumbers = {}
 
     def get_outdated_docs(self):
         return 'all pydoc topics'
@@ -169,9 +174,9 @@ class PydocTopicsBuilder(Builder):
 
     def write(self, *ignored):
         writer = TextWriter(self)
-        for label in self.status_iterator(pydoc_topic_labels,
-                                          'building topics... ',
-                                          length=len(pydoc_topic_labels)):
+        for label in status_iterator(pydoc_topic_labels,
+                                     'building topics... ',
+                                     length=len(pydoc_topic_labels)):
             if label not in self.env.domaindata['std']['labels']:
                 self.warn('label %r not in documentation' % label)
                 continue