on master help sign in
[enh] Add autocompleter from Brave (#3109)
321ddc9Allen
searx/autocomplete.py+18−1
@@ -35,6 +35,22 @@ def get(*args, **kwargs):
35 return http_get(*args, **kwargs)
35 return http_get(*args, **kwargs)
36
36
37
37
38+def brave(query, lang):
39+ # brave search autocompleter
40+ url = 'https://search.brave.com/api/suggest?{query}'
41+
42+ resp = get(url.format(query=urlencode({'q': query})))
43+
44+ results = []
45+
46+ if resp.ok:
47+ data = loads(resp.text)
48+ for suggestion in data[1]:
49+ results.append(suggestion)
50+
51+ return results
52+
53+
38def dbpedia(query, lang):
54def dbpedia(query, lang):
39 # dbpedia autocompleter, no HTTPS
55 # dbpedia autocompleter, no HTTPS
40 autocomplete_url = 'https://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
56 autocomplete_url = 'https://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
@@ -120,7 +136,8 @@ def wikipedia(query, lang):
120 return []
136 return []
121
137
122
138
139+backends = {'brave': brave,
123−backends = {'dbpedia': dbpedia,
140+ 'dbpedia': dbpedia,
124 'duckduckgo': duckduckgo,
141 'duckduckgo': duckduckgo,
125 'google': google,
142 'google': google,
126 'startpage': startpage,
143 'startpage': startpage,