on master help sign in
Merge pull request #1758 from return42/ddd-fix

[fix] duckduckgo_definitions

commit574cb25a16c3011f1797115cb6c90117e9bd1e8e authorAdam Tauber <asciimoo@gmail.com> dateMon 2 Dec 2019, 13:38 (7 years ago) parent20da8f230ad0c6
1 file changed+16−3
searx/engines/duckduckgo_definitions.py+16−3
searx/engines/duckduckgo_definitions.py+16−3
@@ -1,3 +1,14 @@
1+"""
2+DuckDuckGo (definitions)
3+
4+- `Instant Answer API`_
5+- `DuckDuckGo query`_
6+
7+.. _Instant Answer API: https://duckduckgo.com/api
8+.. _DuckDuckGo query: https://api.duckduckgo.com/?q=DuckDuckGo&format=json&pretty=1
9+
10+"""
11+
112import json
213from lxml import html
314from re import compile
@@ -25,7 +36,8 @@ def result_to_text(url, text, htmlResult):
2536def request(query, params):
2637 params['url'] = url.format(query=urlencode({'q': query}))
2738 language = match_language(params['language'], supported_languages, language_aliases)
28− params['headers']['Accept-Language'] = language.split('-')[0]
39+ language = language.split('-')[0]
40+ params['headers']['Accept-Language'] = language
2941 return params
3042
3143
@@ -43,8 +55,9 @@ def response(resp):
4355
4456 # add answer if there is one
4557 answer = search_res.get('Answer', '')
46− if answer != '':
47− results.append({'answer': html_to_text(answer)})
58+ if answer:
59+ if search_res.get('AnswerType', '') not in ['calc']:
60+ results.append({'answer': html_to_text(answer)})
4861
4962 # add infobox
5063 if 'Definition' in search_res: