diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2020-06-18 19:34:32 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-18 19:34:32 +0200 |
| commit | 4a8a16559af18ab38d796aad303a827c8c640fa2 (patch) | |
| tree | 3e056ebdc13610fa4e6a4f73ac9d0d044f10ba78 /utils/site-python | |
| parent | 0dc5bdb6ef602d00456eb1db96d45e2f42b2b7a4 (diff) | |
| parent | 0616684baa58b86cac5df6546432d4372f965fe2 (diff) | |
Merge pull request #1803 from return42/filtron
Tooling Box to setup & maintain searx instances and services.
Diffstat (limited to 'utils/site-python')
| -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) |