[feat] engine: implementation of mwmbl

This commit is contained in:
Bnyro 2023-08-15 19:01:47 +02:00 committed by Markus Heiser
parent bb9e9ab773
commit c59ae91b76
2 changed files with 47 additions and 0 deletions

41
searx/engines/mwmbl.py Normal file
View file

@ -0,0 +1,41 @@
# 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

View file

@ -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