forked from Ponysearch/Ponysearch
5d74bf3820
The general category is the category that is searched by default. From a privacy standpoint it doesn't make sense to send all general queries to specialized search engines that cannot deal with those queries anyway.
52 lines
1.4 KiB
Python
52 lines
1.4 KiB
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
"""
|
|
MyMemory Translated
|
|
"""
|
|
|
|
# about
|
|
about = {
|
|
"website": 'https://mymemory.translated.net/',
|
|
"wikidata_id": None,
|
|
"official_api_documentation": 'https://mymemory.translated.net/doc/spec.php',
|
|
"use_official_api": True,
|
|
"require_api_key": False,
|
|
"results": 'JSON',
|
|
}
|
|
|
|
engine_type = 'online_dictionary'
|
|
categories = ['dictionaries']
|
|
url = 'https://api.mymemory.translated.net/get?q={query}&langpair={from_lang}|{to_lang}{key}'
|
|
web_url = 'https://mymemory.translated.net/en/{from_lang}/{to_lang}/{query}'
|
|
weight = 100
|
|
https_support = True
|
|
|
|
api_key = ''
|
|
|
|
|
|
def request(query, params):
|
|
if api_key:
|
|
key_form = '&key=' + api_key
|
|
else:
|
|
key_form = ''
|
|
params['url'] = url.format(
|
|
from_lang=params['from_lang'][1], to_lang=params['to_lang'][1], query=params['query'], key=key_form
|
|
)
|
|
return params
|
|
|
|
|
|
def response(resp):
|
|
results = []
|
|
results.append(
|
|
{
|
|
'url': web_url.format(
|
|
from_lang=resp.search_params['from_lang'][2],
|
|
to_lang=resp.search_params['to_lang'][2],
|
|
query=resp.search_params['query'],
|
|
),
|
|
'title': '[{0}-{1}] {2}'.format(
|
|
resp.search_params['from_lang'][1], resp.search_params['to_lang'][1], resp.search_params['query']
|
|
),
|
|
'content': resp.json()['responseData']['translatedText'],
|
|
}
|
|
)
|
|
return results
|