commit: fb4df9d6c334b38860d87fab1b777277ff568ba7
parent: 80fd392d69ee18daa8640193d4448490c6e0dc03
Author: Alexandre Flament <alex@al-f.net>
Date: Tue, 2 Jun 2015 10:43:10 +0200
Merge pull request #349 from Cqoicebordel/startpage_autocomplete
Add startpage as an autocompleter engine
Diffstat:
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/searx/autocomplete.py b/searx/autocomplete.py
@@ -57,17 +57,17 @@ def searx_bang(full_query):
# check if query starts with categorie name
for categorie in categories:
if categorie.startswith(engine_query):
- results.append(first_char+'{categorie}'.format(categorie=categorie))
+ results.append(first_char + '{categorie}'.format(categorie=categorie))
# check if query starts with engine name
for engine in engines:
if engine.startswith(engine_query.replace('_', ' ')):
- results.append(first_char+'{engine}'.format(engine=engine.replace(' ', '_')))
+ results.append(first_char + '{engine}'.format(engine=engine.replace(' ', '_')))
# check if query starts with engine shortcut
for engine_shortcut in engine_shortcuts:
if engine_shortcut.startswith(engine_query):
- results.append(first_char+'{engine_shortcut}'.format(engine_shortcut=engine_shortcut))
+ results.append(first_char + '{engine_shortcut}'.format(engine_shortcut=engine_shortcut))
# check if current query stats with :bang
elif first_char == ':':
@@ -112,7 +112,7 @@ def searx_bang(full_query):
def dbpedia(query):
# dbpedia autocompleter, no HTTPS
- autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?' # noqa
+ autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
response = get(autocomplete_url
+ urlencode(dict(QueryString=query)))
@@ -139,7 +139,7 @@ def duckduckgo(query):
def google(query):
# google autocompleter
- autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&' # noqa
+ autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&'
response = get(autocomplete_url
+ urlencode(dict(q=query)))
@@ -153,9 +153,20 @@ def google(query):
return results
+def startpage(query):
+ # wikipedia autocompleter
+ url = 'https://startpage.com/do/suggest?{query}'
+
+ resp = get(url.format(query=urlencode({'query': query}))).text.split('\n')
+ print resp
+ if len(resp) > 1:
+ return resp
+ return []
+
+
def wikipedia(query):
# wikipedia autocompleter
- url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json' # noqa
+ url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'
resp = loads(get(url.format(urlencode(dict(search=query)))).text)
if len(resp) > 1:
@@ -166,5 +177,6 @@ def wikipedia(query):
backends = {'dbpedia': dbpedia,
'duckduckgo': duckduckgo,
'google': google,
+ 'startpage': startpage,
'wikipedia': wikipedia
}