Source code for searx.engines.demo_offline

# SPDX-License-Identifier: AGPL-3.0-or-later
# lint: pylint
"""Within this module we implement a *demo offline engine*.  Do not look to
close to the implementation, its just a simple example.  To get in use of this
*demo* engine add the following entry to your engines list in ``settings.yml``:

.. code:: yaml

  - name: my offline engine
    engine: demo_offline
    shortcut: demo
    disabled: false


import json

engine_type = 'offline'
categories = ['general']
disabled = True
timeout = 2.0

about = {
    "wikidata_id": None,
    "official_api_documentation": None,
    "use_official_api": False,
    "require_api_key": False,
    "results": 'JSON',

# if there is a need for globals, use a leading underline
_my_offline_engine = None

[docs]def init(engine_settings=None): """Initialization of the (offline) engine. The origin of this demo engine is a simple json string which is loaded in this example while the engine is initialized. """ global _my_offline_engine # pylint: disable=global-statement _my_offline_engine = ( '[ {"value": "%s"}' ', {"value":"first item"}' ', {"value":"second item"}' ', {"value":"third item"}' ']' % engine_settings.get('name') )