diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2021-07-17 19:03:54 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2021-07-18 15:55:42 +0200 |
commit | 3e50e8de3e669972da194b3d416f7913e75da9f4 (patch) | |
tree | 2ef79d8916b4c98688765968b0d1a52157f72dca /searx/__init__.py | |
parent | 197fa188c01afaa52afbc52d8f42e36603b2c2c2 (diff) | |
download | searxng-3e50e8de3e669972da194b3d416f7913e75da9f4.tar.gz searxng-3e50e8de3e669972da194b3d416f7913e75da9f4.zip |
[mod] drop usage of the searx.brand namespace (python procs)
Added function searx.get_setting(name, default=_unset):
Returns the value to which ``name`` point. If there is no such name in the
settings and the ``default`` is unset, a KeyError exception is raised.
In all the python processes ..
- make docs
- make buildenv
- make install (setup.py)
the usage of the 'brand.*' name space is replaced by 'searx.get_setting'
function.
- brand.SEARX_URL --> get_setting('server.base_url')
- brand.GIT_URL --> get_setting('brand.git_url')
- brand.GIT_BRANCH' --> get_setting('server.base_url')
- brand.ISSUE_URL --> get_setting('brand.issue_url')
- brand.DOCS_URL --> get_setting('brand.docs_url')
- brand.PUBLIC_INSTANCES --> get_setting('brand.public_instances')
- brand.CONTACT_URL --> get_setting('general.contact_url', '')
- brand.WIKI_URL --> get_setting('brand.wiki_url')
- brand.TWITTER_URL --> get_setting('brand.twitter_url', '')
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/__init__.py')
-rw-r--r-- | searx/__init__.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/searx/__init__.py b/searx/__init__.py index 8452dd7b4..55f6bb464 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -32,6 +32,27 @@ if max_request_timeout is None: else: logger.info('max_request_timeout=%i second(s)', max_request_timeout) +_unset = object() + +def get_setting(name, default=_unset): + """Returns the value to which ``name`` point. If there is no such name in the + settings and the ``default`` is unset, a :py:obj:`KeyError` is raised. + + """ + value = settings + for a in name.split('.'): + if isinstance(value, dict): + value = value.get(a, _unset) + else: + value = _unset + + if value is _unset: + if default is _unset: + raise KeyError(name) + value = default + break + + return value class _brand_namespace: # pylint: disable=invalid-name |