Skip to content

Commit

Permalink
docs: kernel_abi.py: make it compatible with Sphinx 1.7+
Browse files Browse the repository at this point in the history
The same way kerneldoc.py needed changes to work with newer
Sphinx, this script needs the same changes.

While here, reorganize the include order to match kerneldoc.py.

Acked-by: Jonathan Corbet <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Link: https://lore.kernel.org/r/f2b25caef5db7738629773a03463908d3b39b83a.1604042072.git.mchehab+huawei@kernel.org
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
mchehab authored and gregkh committed Oct 30, 2020
1 parent 823830d commit c830fa9
Showing 1 changed file with 27 additions and 12 deletions.
39 changes: 27 additions & 12 deletions Documentation/sphinx/kernel_abi.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,27 @@
"""

import codecs
import sys
import os
from os import path
import subprocess
import sys

from sphinx.ext.autodoc import AutodocReporter
from os import path

from docutils import nodes
from docutils.parsers.rst import Directive, directives
from docutils import nodes, statemachine
from docutils.statemachine import ViewList
from docutils.parsers.rst import directives, Directive
from docutils.utils.error_reporting import ErrorString

#
# AutodocReporter is only good up to Sphinx 1.7
#
import sphinx

Use_SSI = sphinx.__version__[:3] >= '1.7'
if Use_SSI:
from sphinx.util.docutils import switch_source_input
else:
from sphinx.ext.autodoc import AutodocReporter

__version__ = '1.0'

Expand Down Expand Up @@ -142,11 +151,17 @@ def nestedParse(self, lines, fname):
content.append(l, fname, c)

buf = self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter
self.state.memo.title_styles = []
self.state.memo.section_level = 0
self.state.memo.reporter = AutodocReporter(content, self.state.memo.reporter)
try:
self.state.nested_parse(content, 0, node, match_titles=1)
finally:
self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter = buf

if Use_SSI:
with switch_source_input(self.state, content):
self.state.nested_parse(content, 0, node, match_titles=1)
else:
self.state.memo.title_styles = []
self.state.memo.section_level = 0
self.state.memo.reporter = AutodocReporter(content, self.state.memo.reporter)
try:
self.state.nested_parse(content, 0, node, match_titles=1)
finally:
self.state.memo.title_styles, self.state.memo.section_level, self.state.memo.reporter = buf

return node.children

0 comments on commit c830fa9

Please sign in to comment.