summaryrefslogtreecommitdiff
path: root/searx/__init__.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2021-07-17 19:03:54 +0200
committerMarkus Heiser <markus.heiser@darmarit.de>2021-07-18 15:55:42 +0200
commit3e50e8de3e669972da194b3d416f7913e75da9f4 (patch)
tree2ef79d8916b4c98688765968b0d1a52157f72dca /searx/__init__.py
parent197fa188c01afaa52afbc52d8f42e36603b2c2c2 (diff)
downloadsearxng-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__.py21
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