diff options
| author | Adam Tauber <asciimoo@gmail.com> | 2019-12-02 13:38:54 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-12-02 13:38:54 +0000 |
| commit | 574cb25a16c3011f1797115cb6c90117e9bd1e8e (patch) | |
| tree | 39da93c85015157be6168f55904e0479bd55b112 | |
| parent | 20da8f2cbff4b862e02c369cd98c608e674a70aa (diff) | |
| parent | 30ad0c666df6644c4d05949f7bc5d7b1485f3fd6 (diff) | |
Merge pull request #1758 from return42/ddd-fix
[fix] duckduckgo_definitions
| -rw-r--r-- | searx/engines/duckduckgo_definitions.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/searx/engines/duckduckgo_definitions.py b/searx/engines/duckduckgo_definitions.py index 957a13ea6..79d10c303 100644 --- a/searx/engines/duckduckgo_definitions.py +++ b/searx/engines/duckduckgo_definitions.py @@ -1,3 +1,14 @@ +""" +DuckDuckGo (definitions) + +- `Instant Answer API`_ +- `DuckDuckGo query`_ + +.. _Instant Answer API: https://duckduckgo.com/api +.. _DuckDuckGo query: https://api.duckduckgo.com/?q=DuckDuckGo&format=json&pretty=1 + +""" + import json from lxml import html from re import compile @@ -25,7 +36,8 @@ def result_to_text(url, text, htmlResult): def request(query, params): params['url'] = url.format(query=urlencode({'q': query})) language = match_language(params['language'], supported_languages, language_aliases) - params['headers']['Accept-Language'] = language.split('-')[0] + language = language.split('-')[0] + params['headers']['Accept-Language'] = language return params @@ -43,8 +55,9 @@ def response(resp): # add answer if there is one answer = search_res.get('Answer', '') - if answer != '': - results.append({'answer': html_to_text(answer)}) + if answer: + if search_res.get('AnswerType', '') not in ['calc']: + results.append({'answer': html_to_text(answer)}) # add infobox if 'Definition' in search_res: |