Browse Source

[fix] engine woxikon.de - don't raise exception on empty result list

Woxikon expects a word in German, so with query "foo" the site finds nothing and
respons a 404:

    httpx.HTTPStatusError: Client error '404 Not Found' \
      for url 'https://synonyme.woxikon.de/synonyme/foo.php'

[1] https://github.com/searxng/searxng/issues/1543#issuecomment-1193317054

Closes: https://github.com/searxng/searxng/issues/1543
Suggested-by: @allendema [1]
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Markus Heiser 2 years ago
parent
commit
a15dfa5ee1
2 changed files with 5 additions and 1 deletions
  1. 4 1
      searx/engines/xpath.py
  2. 1 0
      searx/settings.yml

+ 4 - 1
searx/engines/xpath.py

@@ -60,6 +60,9 @@ lang_all = 'en'
 '''Replacement ``{lang}`` in :py:obj:`search_url` if language ``all`` is
 selected.
 '''
+raise_for_httperror = True
+'''True by default: raise an exception if the HTTP code of response is ``>=
+300``'''
 
 soft_max_redirects = 0
 '''Maximum redirects, soft limit. Record an error but don't stop the engine'''
@@ -176,7 +179,7 @@ def request(query, params):
 
     params['url'] = search_url.format(**fargs)
     params['soft_max_redirects'] = soft_max_redirects
-
+    params['raise_for_httperror'] = raise_for_httperror
     return params
 
 

+ 1 - 0
searx/settings.yml

@@ -1808,6 +1808,7 @@ engines:
     url_xpath: //div[@class="upper-synonyms"]/a/@href
     content_xpath: //div[@class="synonyms-list-group"]
     title_xpath: //div[@class="upper-synonyms"]/a
+    raise_for_httperror: false
     about:
       website: https://www.woxikon.de/
       wikidata_id:  # No Wikidata ID