File docs-docutils_014-Sphinx_420.patch of Package python312.34718

---
 Doc/tools/extensions/c_annotations.py   |    6 +++++-
 Doc/tools/extensions/glossary_search.py |   12 ++++++++++--
 Doc/tools/extensions/pyspecific.py      |   13 ++++++++++---
 3 files changed, 25 insertions(+), 6 deletions(-)

--- a/Doc/tools/extensions/c_annotations.py
+++ b/Doc/tools/extensions/c_annotations.py
@@ -84,7 +84,11 @@ class Annotations:
                 self.stable_abi_data[name] = record
 
     def add_annotations(self, app, doctree):
-        for node in doctree.findall(addnodes.desc_content):
+        try:
+            findall = doctree.findall
+        except AttributeError:
+            findall = doctree.traverse
+        for node in findall(addnodes.desc_content):
             par = node.parent
             if par['domain'] != 'c':
                 continue
--- a/Doc/tools/extensions/glossary_search.py
+++ b/Doc/tools/extensions/glossary_search.py
@@ -25,8 +25,16 @@ def process_glossary_nodes(app, doctree,
 
     terms = {}
 
-    for node in doctree.findall(glossary):
-        for glossary_item in node.findall(definition_list_item):
+    try:
+        findall = doctree.findall
+    except AttributeError:
+        findall = doctree.traverse
+    for node in findall(glossary):
+        try:
+            node_findall = node.findall
+        except AttributeError:
+            node_findall = node.traverse
+        for glossary_item in node_findall(definition_list_item):
             term = glossary_item[0].astext().lower()
             definition = glossary_item[1]
 
--- a/Doc/tools/extensions/pyspecific.py
+++ b/Doc/tools/extensions/pyspecific.py
@@ -27,7 +27,10 @@ from sphinx.locale import _ as sphinx_ge
 from sphinx.util import logging
 from sphinx.util.docutils import SphinxDirective
 from sphinx.writers.text import TextWriter, TextTranslator
-from sphinx.util.display import status_iterator
+try:
+    from sphinx.util.display import status_iterator
+except ModuleNotFoundError:
+    from sphinx.util import status_iterator
 
 
 ISSUE_URI = 'https://bugs.python.org/issue?@action=redirect&bpo=%s'
@@ -604,7 +607,11 @@ def parse_monitoring_event(env, sig, sig
 
 
 def process_audit_events(app, doctree, fromdocname):
-    for node in doctree.findall(audit_event_list):
+    try:
+        findall = doctree.findall
+    except AttributeError:
+        findall = doctree.traverse
+    for node in findall(audit_event_list):
         break
     else:
         return
@@ -663,7 +670,7 @@ def process_audit_events(app, doctree, f
 
         body += row
 
-    for node in doctree.findall(audit_event_list):
+    for node in findall(audit_event_list):
         node.replace_self(table)
 
 
openSUSE Build Service is sponsored by