diff options
Diffstat (limited to 'searx')
| -rw-r--r-- | searx/engines/wikidata.py | 2 | ||||
| -rw-r--r-- | searx/engines/wikipedia.py | 4 | ||||
| -rw-r--r-- | searx/search.py | 6 |
3 files changed, 8 insertions, 4 deletions
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py index 539ce5ad4..60d0dc9a0 100644 --- a/searx/engines/wikidata.py +++ b/searx/engines/wikidata.py @@ -190,7 +190,7 @@ def get_results(attribute_result, attributes, language): infobox_id_lang = None infobox_urls = [] infobox_attributes = [] - infobox_content = attribute_result.get('itemDescription') + infobox_content = attribute_result.get('itemDescription', []) img_src = None img_src_priority = 100 diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py index 620ec3c14..9fce170eb 100644 --- a/searx/engines/wikipedia.py +++ b/searx/engines/wikipedia.py @@ -37,13 +37,15 @@ def request(query, params): language=url_lang(params['language'])) params['headers']['User-Agent'] = searx_useragent() + params['raise_for_status'] = False + params['soft_max_redirects'] = 2 return params # get response from search-request def response(resp): - if not resp.ok: + if resp.status_code == 404: return [] results = [] diff --git a/searx/search.py b/searx/search.py index 8898f1576..8c2ad8d72 100644 --- a/searx/search.py +++ b/searx/search.py @@ -143,7 +143,8 @@ def send_http_request(engine, request_params): response = req(request_params['url'], **request_args) # check HTTP status - response.raise_for_status() + if request_params.get('raise_for_status'): + response.raise_for_status() # check soft limit of the redirect count if len(response.history) > soft_max_redirects: @@ -340,7 +341,8 @@ def default_request_params(): 'url': '', 'cookies': {}, 'verify': True, - 'auth': None + 'auth': None, + 'raise_for_status': True } |