Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e50e8de authored by Markus Heiser's avatar Markus Heiser
Browse files

[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: default avatarMarkus Heiser <markus.heiser@darmarit.de>
parent 197fa188
Loading
Loading
Loading
Loading
+24 −17
Original line number Diff line number Diff line
@@ -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"],
+21 −0
Original line number Diff line number Diff line
@@ -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

+4 −4
Original line number Diff line number Diff line
@@ -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",
+18 −10
Original line number Diff line number Diff line
@@ -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'
+1 −1
Original line number Diff line number Diff line
@@ -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