diff options
| author | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-23 15:02:32 +0100 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-03-23 15:02:32 +0100 |
| commit | 21ba25ebb8deba7ffa6537e6c1196546604de712 (patch) | |
| tree | 31833607fb181a2e8c9c0160da4fa480321de536 /utils/site-python/sphinx_build_tools.py | |
| parent | 62da7699529b57f3bf851ec9258da89be42094dc (diff) | |
| parent | baddb8d3eb856344129fb4b320bd17bba9456477 (diff) | |
Merge branch 'filtron' of https://github.com/return42/searx into filtron
Diffstat (limited to 'utils/site-python/sphinx_build_tools.py')
| -rw-r--r-- | utils/site-python/sphinx_build_tools.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/utils/site-python/sphinx_build_tools.py b/utils/site-python/sphinx_build_tools.py new file mode 100644 index 000000000..b9ebdeacc --- /dev/null +++ b/utils/site-python/sphinx_build_tools.py @@ -0,0 +1,48 @@ +# -*- coding: utf-8; mode: python -*- +"""Implement some sphinx-build tools. + +""" + +import os +import sys +from sphinx.util.pycompat import execfile_ + +# ------------------------------------------------------------------------------ +def load_sphinx_config(namespace): +# ------------------------------------------------------------------------------ + + u"""Load an additional configuration file into *namespace*. + + The name of the configuration file is taken from the environment + ``SPHINX_CONF``. The external configuration file extends (or overwrites) the + configuration values from the origin ``conf.py``. With this you are able to + maintain *build themes*. To your docs/conf.py add:: + + from sphinx_build_tools import load_sphinx_config + ... + + # Since loadConfig overwrites settings from the global namespace, it has to be + # the last statement in the conf.py file + + load_sphinx_config(globals()) + + """ + + config_file = os.environ.get("SPHINX_CONF", None) + if (config_file is not None + and os.path.normpath(namespace["__file__"]) != os.path.normpath(config_file) ): + config_file = os.path.abspath(config_file) + + if os.path.isfile(config_file): + sys.stdout.write( + "load additional sphinx-config: %s\n" + % config_file) + config = namespace.copy() + config['__file__'] = config_file + execfile_(config_file, config) + del config['__file__'] + namespace.update(config) + else: + sys.stderr.write( + "WARNING: additional sphinx-config not found: %s\n" + % config_file) |