lkml.org 
[lkml]   [2020]   [Oct]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 14/33] docs: kernel_abi.py: make it compatible with Sphinx 1.7+
    Date
    From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>

    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.

    Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
    ---
    Documentation/sphinx/kernel_abi.py | 39 +++++++++++++++++++++---------
    1 file changed, 27 insertions(+), 12 deletions(-)

    diff --git a/Documentation/sphinx/kernel_abi.py b/Documentation/sphinx/kernel_abi.py
    index fe69c213716d..8601a3b75a28 100644
    --- a/Documentation/sphinx/kernel_abi.py
    +++ b/Documentation/sphinx/kernel_abi.py
    @@ -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
    --
    2.26.2
    \
     
     \ /
      Last update: 2020-10-28 23:21    [W:4.126 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site