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

Commit c59ae91b authored by Bnyro's avatar Bnyro Committed by Markus Heiser
Browse files

[feat] engine: implementation of mwmbl

parent bb9e9ab7
Loading
Loading
Loading
Loading

searx/engines/mwmbl.py

0 → 100644
+41 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: AGPL-3.0-or-later
# lint: pylint
"""mwmbl (general)
"""

from urllib.parse import urlencode

about = {
    "website": 'https://github.com/mwmbl/mwmbl',
    "official_api_documentation": None,
    "use_official_api": True,
    "require_api_key": False,
    "results": 'JSON',
}
paging = False
categories = ['general']

api_url = "https://api.mwmbl.org"


def request(query, params):
    params['url'] = f"{api_url}/search?{urlencode({'s': query})}"
    return params


def response(resp):
    results = []

    json_results = resp.json()

    for result in json_results:
        title_parts = [title['value'] for title in result['title']]
        results.append(
            {
                'url': result['url'],
                'title': ''.join(title_parts),
                'content': result['extract'][0]['value'],
            }
        )

    return results
+6 −0
Original line number Diff line number Diff line
@@ -1008,6 +1008,12 @@ engines:
  #   collection: 'reviews'  # name of the db collection
  #   key: 'name'  # key in the collection to search for

  - name: mwmbl
    engine: mwmbl
    # api_url: https://api.mwmbl.org
    shortcut: mwm
    disabled: true

  - name: npm
    engine: json_engine
    paging: true