summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-02-11 12:29:21 +0100
committerAlexandre Flament <alex@al-f.net>2021-02-11 12:29:21 +0100
commit7d6e69e2f9c1efd76616af0f58d0d7313a338c47 (patch)
tree335e9d8049daacf2c58e4de62bd100063084da5d
parent436d366448131088a9cddcedc9b789a44b38ee97 (diff)
downloadsearxng-7d6e69e2f9c1efd76616af0f58d0d7313a338c47.tar.gz
searxng-7d6e69e2f9c1efd76616af0f58d0d7313a338c47.zip
[upd] wikipedia engine: return an empty result on query with illegal characters
on some queries (like an IT error message), wikipedia returns an HTTP error 400. this commit returns an empty result instead of showing an error to the user.
-rw-r--r--searx/engines/wikipedia.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
index c8e589e64..2adfefa69 100644
--- a/searx/engines/wikipedia.py
+++ b/searx/engines/wikipedia.py
@@ -56,6 +56,17 @@ def request(query, params):
def response(resp):
if resp.status_code == 404:
return []
+
+ if resp.status_code == 400:
+ try:
+ api_result = loads(resp.text)
+ except:
+ pass
+ else:
+ if api_result['type'] == 'https://mediawiki.org/wiki/HyperSwitch/errors/bad_request' \
+ and api_result['detail'] == 'title-invalid-characters':
+ return []
+
raise_for_httperror(resp)
results = []