[mod] dictzone, translated, currency_convert: use engine_type online_curency and online_dictionnary

This commit is contained in:
Alexandre Flament 2020-12-16 16:20:03 +01:00
parent 7ec8bc3ea7
commit 02fc4147ce
4 changed files with 59 additions and 99 deletions

View file

@ -8,44 +8,26 @@
@stable yes
@parse url, title, content
"""
import re
from searx.utils import is_valid_lang
engine_type = 'online_dictionnary'
categories = ['general']
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
parser_re = re.compile('.*?([a-z]+)-([a-z]+) (.{2,})$', re.I)
api_key = ''
def request(query, params):
m = parser_re.match(query)
if not m:
return params
from_lang, to_lang, query = m.groups()
from_lang = is_valid_lang(from_lang)
to_lang = is_valid_lang(to_lang)
if not from_lang or not to_lang:
return params
if api_key:
key_form = '&key=' + api_key
else:
key_form = ''
params['url'] = url.format(from_lang=from_lang[1],
to_lang=to_lang[1],
query=query,
params['url'] = url.format(from_lang=params['from_lang'][1],
to_lang=params['to_lang'][1],
query=params['query'],
key=key_form)
params['query'] = query
params['from_lang'] = from_lang
params['to_lang'] = to_lang
return params