From 3e50e8de3e669972da194b3d416f7913e75da9f4 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 17 Jul 2021 19:03:54 +0200 Subject: [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 --- searx/__init__.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'searx/__init__.py') 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 -- cgit v1.2.3 From c9220de690f0081777cf43acb547f2b3818fd8fe Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sat, 17 Jul 2021 19:37:22 +0200 Subject: [mod] drop unused setting option brand:twitter_url Signed-off-by: Markus Heiser --- searx/__init__.py | 5 ----- 1 file changed, 5 deletions(-) (limited to 'searx/__init__.py') diff --git a/searx/__init__.py b/searx/__init__.py index 55f6bb464..2b6a84124 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -96,9 +96,4 @@ class _brand_namespace: # pylint: disable=invalid-name def WIKI_URL(self): return self.get_val('brand', 'wiki_url') - @property - def TWITTER_URL(self): - return self.get_val('brand', 'twitter_url') - - brand = _brand_namespace() -- cgit v1.2.3 From 6fbf5180bf17b563c0ef9552ab6aaaf48bc375ae Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Sun, 18 Jul 2021 17:26:56 +0200 Subject: [mod] drop obsolete searx.brand namespace The usages of the searx.brand namespace has been removed, the searx.brand namespace is now longer needed. The searx.brand namespace was an interim solution which has been added in commit 9e53470b4, see commit message there ... This patch is a first 'proof of concept'. Later we can decide to remove the brand namespace entirely or not. Signed-off-by: Markus Heiser --- searx/__init__.py | 44 -------------------------------------------- 1 file changed, 44 deletions(-) (limited to 'searx/__init__.py') diff --git a/searx/__init__.py b/searx/__init__.py index 2b6a84124..0b73d5204 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -53,47 +53,3 @@ def get_setting(name, default=_unset): break return value - -class _brand_namespace: # pylint: disable=invalid-name - - @classmethod - def get_val(cls, group, name, default=''): - return settings.get(group, {}).get(name) or default - - @property - def SEARX_URL(self): - return self.get_val('server', 'base_url') - - @property - def CONTACT_URL(self): - return self.get_val('general', 'contact_url') - - @property - def GIT_URL(self): - return self.get_val('brand', 'git_url') - - @property - def GIT_BRANCH(self): - return self.get_val('brand', 'git_branch') - - @property - def ISSUE_URL(self): - return self.get_val('brand', 'issue_url') - - @property - def NEW_ISSUE_URL(self): - return self.get_val('brand', 'new_issue_url') - - @property - def DOCS_URL(self): - return self.get_val('brand', 'docs_url') - - @property - def PUBLIC_INSTANCES(self): - return self.get_val('brand', 'public_instances') - - @property - def WIKI_URL(self): - return self.get_val('brand', 'wiki_url') - -brand = _brand_namespace() -- cgit v1.2.3