forked from zaclys/searxng
[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>
This commit is contained in:
parent
197fa188c0
commit
3e50e8de3e
41
docs/conf.py
41
docs/conf.py
|
@ -4,7 +4,7 @@
|
||||||
import sys, os
|
import sys, os
|
||||||
from pallets_sphinx_themes import ProjectLink
|
from pallets_sphinx_themes import ProjectLink
|
||||||
|
|
||||||
from searx import brand
|
from searx import get_setting
|
||||||
from searx.version import VERSION_STRING
|
from searx.version import VERSION_STRING
|
||||||
|
|
||||||
# Project --------------------------------------------------------------
|
# Project --------------------------------------------------------------
|
||||||
|
@ -14,6 +14,15 @@ copyright = u'2015-2020, Adam Tauber, Noémi Ványi'
|
||||||
author = u'Adam Tauber'
|
author = u'Adam Tauber'
|
||||||
release, version = VERSION_STRING, VERSION_STRING
|
release, version = VERSION_STRING, VERSION_STRING
|
||||||
|
|
||||||
|
SEARX_URL = get_setting('server.base_url') or 'https://example.org/searx'
|
||||||
|
GIT_URL = get_setting('brand.git_url')
|
||||||
|
GIT_BRANCH = get_setting('brand.git_branch')
|
||||||
|
ISSUE_URL = get_setting('brand.issue_url')
|
||||||
|
DOCS_URL = get_setting('brand.docs_url')
|
||||||
|
PUBLIC_INSTANCES = get_setting('brand.public_instances')
|
||||||
|
CONTACT_URL = get_setting('general.contact_url')
|
||||||
|
WIKI_URL = get_setting('brand.wiki_url')
|
||||||
|
|
||||||
# hint: sphinx.ext.viewcode won't highlight when 'highlight_language' [1] is set
|
# hint: sphinx.ext.viewcode won't highlight when 'highlight_language' [1] is set
|
||||||
# to string 'none' [2]
|
# to string 'none' [2]
|
||||||
#
|
#
|
||||||
|
@ -49,10 +58,10 @@ extlinks['pull'] = ('https://github.com/searxng/searxng/pull/%s', 'PR ')
|
||||||
extlinks['pull-searx'] = ('https://github.com/searx/searx/pull/%s', 'PR ')
|
extlinks['pull-searx'] = ('https://github.com/searx/searx/pull/%s', 'PR ')
|
||||||
|
|
||||||
# links to custom brand
|
# links to custom brand
|
||||||
extlinks['origin'] = (brand.GIT_URL + '/blob/' + brand.GIT_BRANCH + '/%s', 'git://')
|
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://')
|
||||||
extlinks['patch'] = (brand.GIT_URL + '/commit/%s', '#')
|
extlinks['patch'] = (GIT_URL + '/commit/%s', '#')
|
||||||
extlinks['search'] = (brand.SEARX_URL + '/%s', '#')
|
extlinks['search'] = (SEARX_URL + '/%s', '#')
|
||||||
extlinks['docs'] = (brand.DOCS_URL + '/%s', 'docs: ')
|
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: ')
|
||||||
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: ')
|
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: ')
|
||||||
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '')
|
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '')
|
||||||
#extlinks['role'] = (
|
#extlinks['role'] = (
|
||||||
|
@ -108,18 +117,16 @@ imgmath_font_size = 14
|
||||||
|
|
||||||
html_theme_options = {"index_sidebar_logo": True}
|
html_theme_options = {"index_sidebar_logo": True}
|
||||||
html_context = {"project_links": [] }
|
html_context = {"project_links": [] }
|
||||||
if brand.GIT_URL:
|
html_context["project_links"].append(ProjectLink("Source", GIT_URL + '/tree/' + GIT_BRANCH))
|
||||||
html_context["project_links"].append(ProjectLink("Source", brand.GIT_URL))
|
|
||||||
if brand.WIKI_URL:
|
if WIKI_URL:
|
||||||
html_context["project_links"].append(ProjectLink("Wiki", brand.WIKI_URL))
|
html_context["project_links"].append(ProjectLink("Wiki", WIKI_URL))
|
||||||
if brand.PUBLIC_INSTANCES:
|
if PUBLIC_INSTANCES:
|
||||||
html_context["project_links"].append(ProjectLink("Public instances", brand.PUBLIC_INSTANCES))
|
html_context["project_links"].append(ProjectLink("Public instances", PUBLIC_INSTANCES))
|
||||||
if brand.TWITTER_URL:
|
if ISSUE_URL:
|
||||||
html_context["project_links"].append(ProjectLink("Twitter", brand.TWITTER_URL))
|
html_context["project_links"].append(ProjectLink("Issue Tracker", ISSUE_URL))
|
||||||
if brand.ISSUE_URL:
|
if CONTACT_URL:
|
||||||
html_context["project_links"].append(ProjectLink("Issue Tracker", brand.ISSUE_URL))
|
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
|
||||||
if brand.CONTACT_URL:
|
|
||||||
html_context["project_links"].append(ProjectLink("Contact", brand.CONTACT_URL))
|
|
||||||
|
|
||||||
html_sidebars = {
|
html_sidebars = {
|
||||||
"**": ["project.html", "relations.html", "searchbox.html"],
|
"**": ["project.html", "relations.html", "searchbox.html"],
|
||||||
|
|
|
@ -32,6 +32,27 @@ if max_request_timeout is None:
|
||||||
else:
|
else:
|
||||||
logger.info('max_request_timeout=%i second(s)', max_request_timeout)
|
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
|
class _brand_namespace: # pylint: disable=invalid-name
|
||||||
|
|
||||||
|
|
8
setup.py
8
setup.py
|
@ -8,7 +8,7 @@ import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
from searx.version import VERSION_STRING
|
from searx.version import VERSION_STRING
|
||||||
from searx import brand
|
from searx import get_setting
|
||||||
|
|
||||||
with open('README.rst', encoding='utf-8') as f:
|
with open('README.rst', encoding='utf-8') as f:
|
||||||
long_description = f.read()
|
long_description = f.read()
|
||||||
|
@ -24,10 +24,10 @@ setup(
|
||||||
version=VERSION_STRING,
|
version=VERSION_STRING,
|
||||||
description="A privacy-respecting, hackable metasearch engine",
|
description="A privacy-respecting, hackable metasearch engine",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
url=brand.DOCS_URL,
|
url=get_setting('brand.docs_url'),
|
||||||
project_urls={
|
project_urls={
|
||||||
"Code": brand.GIT_URL,
|
"Code": get_setting('brand.git_url'),
|
||||||
"Issue tracker": brand.ISSUE_URL
|
"Issue tracker": get_setting('brand.issue_url')
|
||||||
},
|
},
|
||||||
classifiers=[
|
classifiers=[
|
||||||
"Development Status :: 4 - Beta",
|
"Development Status :: 4 - Beta",
|
||||||
|
|
|
@ -16,18 +16,26 @@ os.environ['SEARX_SETTINGS_PATH'] = abspath(dirname(__file__) + '/settings.yml')
|
||||||
# from /etc/searx/settings.yml.
|
# from /etc/searx/settings.yml.
|
||||||
os.environ['SEARX_SETTINGS_PATH'] = abspath(dirname(__file__) + sep + 'settings.yml')
|
os.environ['SEARX_SETTINGS_PATH'] = abspath(dirname(__file__) + sep + 'settings.yml')
|
||||||
|
|
||||||
from searx import brand
|
from searx import get_setting
|
||||||
|
|
||||||
|
def _env(*arg, **kwargs):
|
||||||
|
val = get_setting(*arg, **kwargs)
|
||||||
|
if val is True:
|
||||||
|
val = '1'
|
||||||
|
elif val is False:
|
||||||
|
val = ''
|
||||||
|
return val
|
||||||
|
|
||||||
name_val = [
|
name_val = [
|
||||||
('SEARX_URL' , brand.SEARX_URL),
|
('SEARX_URL' , _env('server.base_url','')),
|
||||||
('GIT_URL' , brand.GIT_URL),
|
('GIT_URL' , _env('brand.git_url', '')),
|
||||||
('GIT_BRANCH' , brand.GIT_BRANCH),
|
('GIT_BRANCH' , _env('brand.git_branch', '')),
|
||||||
('ISSUE_URL' , brand.ISSUE_URL),
|
('ISSUE_URL' , _env('brand.issue_url', '')),
|
||||||
('DOCS_URL' , brand.DOCS_URL),
|
('DOCS_URL' , _env('brand.docs_url', '')),
|
||||||
('PUBLIC_INSTANCES' , brand.PUBLIC_INSTANCES),
|
('PUBLIC_INSTANCES' , _env('brand.public_instances', '')),
|
||||||
('CONTACT_URL' , brand.CONTACT_URL),
|
('CONTACT_URL' , _env('general.contact_url', '')),
|
||||||
('WIKI_URL' , brand.WIKI_URL),
|
('WIKI_URL' , _env('brand.wiki_url', '')),
|
||||||
('TWITTER_URL' , brand.TWITTER_URL),
|
('TWITTER_URL' , _env('brand.twitter_url', '')),
|
||||||
]
|
]
|
||||||
|
|
||||||
brand_env = 'utils' + sep + 'brand.env'
|
brand_env = 'utils' + sep + 'brand.env'
|
||||||
|
|
|
@ -25,7 +25,7 @@ server:
|
||||||
secret_key: "ultrasecretkey" # change this!
|
secret_key: "ultrasecretkey" # change this!
|
||||||
# Set custom base_url. Possible values:
|
# Set custom base_url. Possible values:
|
||||||
# false or "https://your.custom.host/location/"
|
# false or "https://your.custom.host/location/"
|
||||||
base_url: https://darmarit.org/searx
|
# base_url: https://example.org/searx
|
||||||
# Proxying image results through searx
|
# Proxying image results through searx
|
||||||
image_proxy: false
|
image_proxy: false
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue