Salome HOME
bos #23972 [CEA 19980] sphinxcontrib_napoleon is not needed with Sphinx >= 1.3
[modules/smesh.git] / doc / salome / gui / SMESH / conf.py.in
index 66efe32d3c7318abd5d6c5c736683895d4b1e8e6..be0975ff7cd9159d19b0519dbb70f7cf50a432f5 100644 (file)
@@ -11,6 +11,7 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
 # All configuration values have a default; values that are commented out
 # serve to show the default.
 
+import importlib
 import sys, os
 import sphinx
 
 import sys, os
 import sphinx
 
@@ -25,17 +26,20 @@ import sphinx
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
 extensions = ['sphinx.ext.autodoc','sphinx.ext.autosummary']
 # Add any Sphinx extension module names here, as strings. They can be 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 pdfbuilder to build a pdf with rst2pdf
 #extensions = ['rst2pdf.pdfbuilder']
 
 #add pdfbuilder to build a pdf with rst2pdf
 #extensions = ['rst2pdf.pdfbuilder']
 
@@ -111,7 +115,7 @@ pygments_style = 'sphinx'
 
 # The theme to use for HTML and HTML Help pages.  Major themes that come with
 # Sphinx are currently 'default' and 'sphinxdoc'.
 
 # The theme to use for HTML and HTML Help pages.  Major themes that come with
 # Sphinx are currently 'default' and 'sphinxdoc'.
-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'
   html_theme = 'sphinx_rtd_theme'
 else:
   html_theme = 'default' if sphinx.version_info[:2] < (1,3) else 'classic'