From eb1b5289d5da742473dd412e83abe35406da5fa5 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Mon, 21 Dec 2020 09:53:41 +0100 Subject: [PATCH 1/2] [mod] documentation: change the jinja context doesn't depend on searx.webapp Before this commit, in the documentation, the jinja context is 'webapp' and contains the global variable in the searx.webapp module. This commit changes this to include only the mandatory variables to build the documentation. --- docs/admin/engines.rst | 2 +- docs/admin/plugins.rst | 2 +- docs/conf.py | 10 ++++++++-- docs/dev/reST.rst | 16 +++++++++++----- 4 files changed, 21 insertions(+), 9 deletions(-) diff --git a/docs/admin/engines.rst b/docs/admin/engines.rst index 0ec86a61..3ad20630 100644 --- a/docs/admin/engines.rst +++ b/docs/admin/engines.rst @@ -46,7 +46,7 @@ Show errors **DE** .. _configured engines: -.. jinja:: webapp +.. jinja:: searx .. flat-table:: Engines configured at built time (defaults) :header-rows: 1 diff --git a/docs/admin/plugins.rst b/docs/admin/plugins.rst index 4ed9066f..d97b3dad 100644 --- a/docs/admin/plugins.rst +++ b/docs/admin/plugins.rst @@ -14,7 +14,7 @@ Configuration defaults (at built time): .. _configured plugins: -.. jinja:: webapp +.. jinja:: searx .. flat-table:: Plugins configured at built time (defaults) :header-rows: 1 diff --git a/docs/conf.py b/docs/conf.py index d6fde9be..0c07761a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -27,9 +27,15 @@ numfig = True exclude_patterns = ['build-templates/*.rst'] -from searx import webapp +import searx.search +import searx.engines +import searx.plugins +searx.search.initialize() jinja_contexts = { - 'webapp': dict(**webapp.__dict__), + 'searx': { + 'engines': searx.engines.engines, + 'plugins': searx.plugins.plugins + }, } # usage:: lorem :patch:`f373169` ipsum diff --git a/docs/dev/reST.rst b/docs/dev/reST.rst index 8adf4115..39cd9f67 100644 --- a/docs/dev/reST.rst +++ b/docs/dev/reST.rst @@ -1289,15 +1289,21 @@ build chapter: :ref:`engines generic`. Below the jinja directive from the :language: reST :start-after: .. _configured engines: -The context for the template is selected in the line ``.. jinja:: webapp``. In -sphinx's build configuration (:origin:`docs/conf.py`) the ``webapp`` context -points to the name space of the python module: ``webapp``. +The context for the template is selected in the line ``.. jinja:: searx``. In +sphinx's build configuration (:origin:`docs/conf.py`) the ``searx`` context +contains the ``engines`` and ``plugins``. .. code:: py - from searx import webapp + import searx.search + import searx.engines + import searx.plugins + searx.search.initialize() jinja_contexts = { - 'webapp': dict(**webapp.__dict__) + 'searx': { + 'engines': searx.engines.engines, + 'plugins': searx.plugins.plugins + }, } From 568b9465e9480bf408a00982ce0b8ec7462f830c Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Mon, 21 Dec 2020 10:21:10 +0100 Subject: [PATCH 2/2] [mod] check secret_key when searx.webapp is imported Without this commit the module searx checks the secret_key value. With this commit, make docs, utils/standalone_searx.py, utils/fetch_firefox_version.py works without SEARX_DEBUG=1 For reference see https://github.com/searx/searx/pull/2386 --- searx/__init__.py | 4 ---- searx/webapp.py | 5 +++++ utils/standalone_searx.py | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/searx/__init__.py b/searx/__init__.py index 9bbc7c8c..08e67f69 100644 --- a/searx/__init__.py +++ b/searx/__init__.py @@ -60,7 +60,3 @@ if 'SEARX_SECRET' in environ: settings['server']['secret_key'] = environ['SEARX_SECRET'] if 'SEARX_BIND_ADDRESS' in environ: settings['server']['bind_address'] = environ['SEARX_BIND_ADDRESS'] - -if not searx_debug and settings['server']['secret_key'] == 'ultrasecretkey': - logger.error('server.secret_key is not changed. Please use something else instead of ultrasecretkey.') - exit(1) diff --git a/searx/webapp.py b/searx/webapp.py index 5076355d..49750d21 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -86,6 +86,11 @@ from searx.metrology.error_recorder import errors_per_engines from werkzeug.serving import WSGIRequestHandler WSGIRequestHandler.protocol_version = "HTTP/{}".format(settings['server'].get('http_protocol_version', '1.0')) +# check secret_key +if not searx_debug and settings['server']['secret_key'] == 'ultrasecretkey': + logger.error('server.secret_key is not changed. Please use something else instead of ultrasecretkey.') + exit(1) + # about static static_path = get_resources_directory(searx_dir, 'static', settings['ui']['static_path']) logger.debug('static directory is %s', static_path) diff --git a/utils/standalone_searx.py b/utils/standalone_searx.py index c52035fb..89023f41 100755 --- a/utils/standalone_searx.py +++ b/utils/standalone_searx.py @@ -15,7 +15,7 @@ Example to use this script: .. code:: bash - $ SEARX_DEBUG=1 python3 utils/standalone_searx.py rain + $ python3 utils/standalone_searx.py rain Example to run it from python: