forked from Ponysearch/Ponysearch
[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
5 changed files with 68 additions and 32 deletions
41
docs/conf.py
41
docs/conf.py
|
@ -4,7 +4,7 @@
|
|||
import sys, os
|
||||
from pallets_sphinx_themes import ProjectLink
|
||||
|
||||
from searx import brand
|
||||
from searx import get_setting
|
||||
from searx.version import VERSION_STRING
|
||||
|
||||
# Project --------------------------------------------------------------
|
||||
|
@ -14,6 +14,15 @@ copyright = u'2015-2020, Adam Tauber, Noémi Ványi'
|
|||
author = u'Adam Tauber'
|
||||
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
|
||||
# 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 ')
|
||||
|
||||
# links to custom brand
|
||||
extlinks['origin'] = (brand.GIT_URL + '/blob/' + brand.GIT_BRANCH + '/%s', 'git://')
|
||||
extlinks['patch'] = (brand.GIT_URL + '/commit/%s', '#')
|
||||
extlinks['search'] = (brand.SEARX_URL + '/%s', '#')
|
||||
extlinks['docs'] = (brand.DOCS_URL + '/%s', 'docs: ')
|
||||
extlinks['origin'] = (GIT_URL + '/blob/' + GIT_BRANCH + '/%s', 'git://')
|
||||
extlinks['patch'] = (GIT_URL + '/commit/%s', '#')
|
||||
extlinks['search'] = (SEARX_URL + '/%s', '#')
|
||||
extlinks['docs'] = (DOCS_URL + '/%s', 'docs: ')
|
||||
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: ')
|
||||
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '')
|
||||
#extlinks['role'] = (
|
||||
|
@ -108,18 +117,16 @@ imgmath_font_size = 14
|
|||
|
||||
html_theme_options = {"index_sidebar_logo": True}
|
||||
html_context = {"project_links": [] }
|
||||
if brand.GIT_URL:
|
||||
html_context["project_links"].append(ProjectLink("Source", brand.GIT_URL))
|
||||
if brand.WIKI_URL:
|
||||
html_context["project_links"].append(ProjectLink("Wiki", brand.WIKI_URL))
|
||||
if brand.PUBLIC_INSTANCES:
|
||||
html_context["project_links"].append(ProjectLink("Public instances", brand.PUBLIC_INSTANCES))
|
||||
if brand.TWITTER_URL:
|
||||
html_context["project_links"].append(ProjectLink("Twitter", brand.TWITTER_URL))
|
||||
if brand.ISSUE_URL:
|
||||
html_context["project_links"].append(ProjectLink("Issue Tracker", brand.ISSUE_URL))
|
||||
if brand.CONTACT_URL:
|
||||
html_context["project_links"].append(ProjectLink("Contact", brand.CONTACT_URL))
|
||||
html_context["project_links"].append(ProjectLink("Source", GIT_URL + '/tree/' + GIT_BRANCH))
|
||||
|
||||
if WIKI_URL:
|
||||
html_context["project_links"].append(ProjectLink("Wiki", WIKI_URL))
|
||||
if PUBLIC_INSTANCES:
|
||||
html_context["project_links"].append(ProjectLink("Public instances", PUBLIC_INSTANCES))
|
||||
if ISSUE_URL:
|
||||
html_context["project_links"].append(ProjectLink("Issue Tracker", ISSUE_URL))
|
||||
if CONTACT_URL:
|
||||
html_context["project_links"].append(ProjectLink("Contact", CONTACT_URL))
|
||||
|
||||
html_sidebars = {
|
||||
"**": ["project.html", "relations.html", "searchbox.html"],
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
8
setup.py
8
setup.py
|
@ -8,7 +8,7 @@ import os
|
|||
import sys
|
||||
|
||||
from searx.version import VERSION_STRING
|
||||
from searx import brand
|
||||
from searx import get_setting
|
||||
|
||||
with open('README.rst', encoding='utf-8') as f:
|
||||
long_description = f.read()
|
||||
|
@ -24,10 +24,10 @@ setup(
|
|||
version=VERSION_STRING,
|
||||
description="A privacy-respecting, hackable metasearch engine",
|
||||
long_description=long_description,
|
||||
url=brand.DOCS_URL,
|
||||
url=get_setting('brand.docs_url'),
|
||||
project_urls={
|
||||
"Code": brand.GIT_URL,
|
||||
"Issue tracker": brand.ISSUE_URL
|
||||
"Code": get_setting('brand.git_url'),
|
||||
"Issue tracker": get_setting('brand.issue_url')
|
||||
},
|
||||
classifiers=[
|
||||
"Development Status :: 4 - Beta",
|
||||
|
|
|
@ -16,18 +16,26 @@ os.environ['SEARX_SETTINGS_PATH'] = abspath(dirname(__file__) + '/settings.yml')
|
|||
# from /etc/searx/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 = [
|
||||
('SEARX_URL' , brand.SEARX_URL),
|
||||
('GIT_URL' , brand.GIT_URL),
|
||||
('GIT_BRANCH' , brand.GIT_BRANCH),
|
||||
('ISSUE_URL' , brand.ISSUE_URL),
|
||||
('DOCS_URL' , brand.DOCS_URL),
|
||||
('PUBLIC_INSTANCES' , brand.PUBLIC_INSTANCES),
|
||||
('CONTACT_URL' , brand.CONTACT_URL),
|
||||
('WIKI_URL' , brand.WIKI_URL),
|
||||
('TWITTER_URL' , brand.TWITTER_URL),
|
||||
('SEARX_URL' , _env('server.base_url','')),
|
||||
('GIT_URL' , _env('brand.git_url', '')),
|
||||
('GIT_BRANCH' , _env('brand.git_branch', '')),
|
||||
('ISSUE_URL' , _env('brand.issue_url', '')),
|
||||
('DOCS_URL' , _env('brand.docs_url', '')),
|
||||
('PUBLIC_INSTANCES' , _env('brand.public_instances', '')),
|
||||
('CONTACT_URL' , _env('general.contact_url', '')),
|
||||
('WIKI_URL' , _env('brand.wiki_url', '')),
|
||||
('TWITTER_URL' , _env('brand.twitter_url', '')),
|
||||
]
|
||||
|
||||
brand_env = 'utils' + sep + 'brand.env'
|
||||
|
|
|
@ -25,7 +25,7 @@ server:
|
|||
secret_key: "ultrasecretkey" # change this!
|
||||
# Set custom base_url. Possible values:
|
||||
# false or "https://your.custom.host/location/"
|
||||
base_url: https://darmarit.org/searx
|
||||
# base_url: https://example.org/searx
|
||||
# Proxying image results through searx
|
||||
image_proxy: false
|
||||
|
||||
|
|
Loading…
Reference in a new issue