docs: kernel_abi.py: make it compatible with Sphinx 1.7+
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 <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Link: https://lore.kernel.org/r/f2b25caef5db7738629773a03463908d3b39b83a.1604042072.git.mchehab+huawei@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
823830d406
Коммит
c830fa9a4d
|
@ -33,18 +33,27 @@ u"""
|
|||
"""
|
||||
|
||||
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'
|
||||
|
||||
|
@ -142,11 +151,17 @@ class KernelCmd(Directive):
|
|||
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
|
||||
|
|
Загрузка…
Ссылка в новой задаче