From 745c5fc3ad32870c13ce2d161af9a7d5537b356d Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 19 Feb 2021 09:50:26 +0300 Subject: [PATCH] bos #23972 [CEA 19980] sphinxcontrib_napoleon is not needed with Sphinx >= 1.3 --- doc/gui/conf.py.in | 28 ++++++++++++++++------------ src/PythonAPI/doc/source/conf.py | 23 +++++++++++++++-------- 2 files changed, 31 insertions(+), 20 deletions(-) diff --git a/doc/gui/conf.py.in b/doc/gui/conf.py.in index d1327b144..a96b6ef5b 100644 --- a/doc/gui/conf.py.in +++ b/doc/gui/conf.py.in @@ -16,6 +16,8 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # + +import importlib import os import sys import sphinx @@ -32,17 +34,19 @@ import sphinx # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = ['sphinx.ext.autodoc','sphinx.ext.autosummary'] -try: - import sphinxcontrib.napoleon - extensions += ['sphinxcontrib.napoleon'] -except: - pass -try: - import sphinx_rtd_theme - extensions += ['sphinx_rtd_theme'] - use_rtd_theme = True -except: - use_rtd_theme = False +# Optional extensions +extra_extensions = ['sphinx_rtd_theme'] +if sphinx.version_info[:2] < (1,3): + extra_extensions += ['sphinxcontrib.napoleon'] +else: + extra_extensions += ['sphinx.ext.napoleon'] +for ext in extra_extensions: + try: + importlib.import_module(ext) + extensions.append(ext) + globals().update({'use_{}'.format(ext):True}) + except: + globals().update({'use_{}'.format(ext):False}) # Add any paths that contain templates here, relative to this directory. #templates_path = [os.path.join('@CMAKE_CURRENT_SOURCE_DIR@','templates')] @@ -96,7 +100,7 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -if use_rtd_theme: +if use_sphinx_rtd_theme: html_theme = 'sphinx_rtd_theme' else: html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic' diff --git a/src/PythonAPI/doc/source/conf.py b/src/PythonAPI/doc/source/conf.py index 67be14257..45403e434 100644 --- a/src/PythonAPI/doc/source/conf.py +++ b/src/PythonAPI/doc/source/conf.py @@ -10,6 +10,7 @@ # All configuration values have a default; values that are commented out # serve to show the default. +import importlib import sys import os import sphinx @@ -35,15 +36,21 @@ extensions = [ 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.viewcode', - 'sphinx.ext.napoleon', 'sphinx.ext.autosummary', ] -try: - import sphinx_rtd_theme - extensions += ['sphinx_rtd_theme'] - use_rtd_theme = True -except: - use_rtd_theme = False +# Optional extensions +extra_extensions = ['sphinx_rtd_theme'] +if sphinx.version_info[:2] < (1,3): + extra_extensions += ['sphinxcontrib.napoleon'] +else: + extra_extensions += ['sphinx.ext.napoleon'] +for ext in extra_extensions: + try: + importlib.import_module(ext) + extensions.append(ext) + globals().update({'use_{}'.format(ext):True}) + except: + globals().update({'use_{}'.format(ext):False}) # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] @@ -113,7 +120,7 @@ pygments_style = 'sphinx' # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -if use_rtd_theme: +if use_sphinx_rtd_theme: html_theme = 'sphinx_rtd_theme' else: html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic' -- 2.30.2