summaryrefslogtreecommitdiff
path: root/searx/autocomplete.py
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarit.de>2022-01-19 17:25:24 +0100
committerMarkus Heiser <markus.heiser@darmarit.de>2022-01-23 09:12:03 +0100
commit9c5bac4c4392542d9c48d61dd3fc9c96e4f514f0 (patch)
treecf2142423a627de63cb83e8558c8f2263fe7bffd /searx/autocomplete.py
parentb8c98c4c0d716c1e1c3a7f26788a012a41e59dbe (diff)
downloadsearxng-9c5bac4c4392542d9c48d61dd3fc9c96e4f514f0.tar.gz
searxng-9c5bac4c4392542d9c48d61dd3fc9c96e4f514f0.zip
[pylint] searx/autocomplete.py
Fix remarks from pylint, BTW set SPDX-License-Identifier. Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/autocomplete.py')
-rw-r--r--searx/autocomplete.py43
1 files changed, 19 insertions, 24 deletions
diff --git a/searx/autocomplete.py b/searx/autocomplete.py
index 6c69ff7c5..00ec98bbc 100644
--- a/searx/autocomplete.py
+++ b/searx/autocomplete.py
@@ -1,33 +1,23 @@
-'''
-searx is free software: you can redistribute it and/or modify
-it under the terms of the GNU Affero General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# lint: pylint
+"""This module implements functions needed for the autocompleter.
-searx is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU Affero General Public License for more details.
+"""
-You should have received a copy of the GNU Affero General Public License
-along with searx. If not, see < http://www.gnu.org/licenses/ >.
-
-(C) 2013- by Adam Tauber, <asciimoo@gmail.com>
-'''
-
-
-from lxml import etree
from json import loads
from urllib.parse import urlencode
+from lxml import etree
from httpx import HTTPError
-
from searx import settings
from searx.data import ENGINES_LANGUAGES
from searx.network import get as http_get
from searx.exceptions import SearxEngineResponseException
+# a fetch_supported_languages() for XPath engines isn't available right now
+# _brave = ENGINES_LANGUAGES['brave'].keys()
+
def get(*args, **kwargs):
if 'timeout' not in kwargs:
@@ -36,10 +26,15 @@ def get(*args, **kwargs):
return http_get(*args, **kwargs)
-def brave(query, lang):
+def brave(query, _lang):
# brave search autocompleter
- url = 'https://search.brave.com/api/suggest?{query}'
- resp = get(url.format(query=urlencode({'q': query})))
+ url = 'https://search.brave.com/api/suggest?'
+ url += urlencode({'q': query})
+ country = 'all'
+ # if lang in _brave:
+ # country = lang
+ kwargs = {'cookies': {'country': country}}
+ resp = get(url, **kwargs)
results = []
@@ -50,7 +45,7 @@ def brave(query, lang):
return results
-def dbpedia(query, lang):
+def dbpedia(query, _lang):
# dbpedia autocompleter, no HTTPS
autocomplete_url = 'https://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
@@ -65,7 +60,7 @@ def dbpedia(query, lang):
return results
-def duckduckgo(query, lang):
+def duckduckgo(query, _lang):
# duckduckgo autocompleter
url = 'https://ac.duckduckgo.com/ac/?{0}&type=list'
@@ -99,7 +94,7 @@ def startpage(query, lang):
return [e['text'] for e in data.get('suggestions', []) if 'text' in e]
-def swisscows(query, lang):
+def swisscows(query, _lang):
# swisscows autocompleter
url = 'https://swisscows.ch/api/suggest?{query}&itemsCount=5'