|
2 | 2 | # vi: set ft=python sts=4 ts=4 sw=4 et:
|
3 | 3 | """Settings for sphinxext.interfaces and connection to sphinx-apidoc."""
|
4 | 4 | import re
|
| 5 | +from packaging.version import Version |
| 6 | + |
| 7 | +import sphinx |
5 | 8 | from sphinx.ext.napoleon import (
|
6 | 9 | Config as NapoleonConfig,
|
7 | 10 | __python_domain,
|
@@ -39,13 +42,24 @@ class Config(NapoleonConfig):
|
39 | 42 |
|
40 | 43 | """
|
41 | 44 |
|
42 |
| -_config_values = { |
43 |
| -"nipype_skip_classes": ( |
44 |
| -["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"], |
45 |
| -"env", |
46 |
| -), |
47 |
| -**NapoleonConfig._config_values, |
48 |
| -} |
| 45 | +if Version(sphinx.__version__) >= Version("8.2.1"): |
| 46 | +_config_values = ( |
| 47 | +( |
| 48 | +"nipype_skip_classes", |
| 49 | +["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"], |
| 50 | +"env", |
| 51 | +frozenset({list[str]}), |
| 52 | +), |
| 53 | +*NapoleonConfig._config_values, |
| 54 | +) |
| 55 | +else: |
| 56 | +_config_values = { |
| 57 | +"nipype_skip_classes": ( |
| 58 | +["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"], |
| 59 | +"env", |
| 60 | +), |
| 61 | +**NapoleonConfig._config_values, |
| 62 | +} |
49 | 63 |
|
50 | 64 |
|
51 | 65 | def setup(app):
|
@@ -82,8 +96,12 @@ def setup(app):
|
82 | 96 | app.connect("autodoc-process-docstring", _process_docstring)
|
83 | 97 | app.connect("autodoc-skip-member", _skip_member)
|
84 | 98 |
|
85 |
| -for name, (default, rebuild) in Config._config_values.items(): |
86 |
| -app.add_config_value(name, default, rebuild) |
| 99 | +if Version(sphinx.__version__) >= Version("8.2.1"): |
| 100 | +for name, default, rebuild, types in Config._config_values: |
| 101 | +app.add_config_value(name, default, rebuild, types=types) |
| 102 | +else: |
| 103 | +for name, (default, rebuild) in Config._config_values.items(): |
| 104 | +app.add_config_value(name, default, rebuild) |
87 | 105 | return {"version": __version__, "parallel_read_safe": True}
|
88 | 106 |
|
89 | 107 |
|
|
0 commit comments