Browse Source

Add startpage as an autocompleter engine

Cqoicebordel 9 years ago
parent
commit
633c7b6a5f
1 changed files with 18 additions and 6 deletions
  1. 18
    6
      searx/autocomplete.py

+ 18
- 6
searx/autocomplete.py View File

@@ -57,17 +57,17 @@ def searx_bang(full_query):
57 57
             # check if query starts with categorie name
58 58
             for categorie in categories:
59 59
                 if categorie.startswith(engine_query):
60
-                    results.append(first_char+'{categorie}'.format(categorie=categorie))
60
+                    results.append(first_char + '{categorie}'.format(categorie=categorie))
61 61
 
62 62
             # check if query starts with engine name
63 63
             for engine in engines:
64 64
                 if engine.startswith(engine_query.replace('_', ' ')):
65
-                    results.append(first_char+'{engine}'.format(engine=engine.replace(' ', '_')))
65
+                    results.append(first_char + '{engine}'.format(engine=engine.replace(' ', '_')))
66 66
 
67 67
             # check if query starts with engine shortcut
68 68
             for engine_shortcut in engine_shortcuts:
69 69
                 if engine_shortcut.startswith(engine_query):
70
-                    results.append(first_char+'{engine_shortcut}'.format(engine_shortcut=engine_shortcut))
70
+                    results.append(first_char + '{engine_shortcut}'.format(engine_shortcut=engine_shortcut))
71 71
 
72 72
     # check if current query stats with :bang
73 73
     elif first_char == ':':
@@ -112,7 +112,7 @@ def searx_bang(full_query):
112 112
 
113 113
 def dbpedia(query):
114 114
     # dbpedia autocompleter, no HTTPS
115
-    autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'  # noqa
115
+    autocomplete_url = 'http://lookup.dbpedia.org/api/search.asmx/KeywordSearch?'
116 116
 
117 117
     response = get(autocomplete_url
118 118
                    + urlencode(dict(QueryString=query)))
@@ -139,7 +139,7 @@ def duckduckgo(query):
139 139
 
140 140
 def google(query):
141 141
     # google autocompleter
142
-    autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&'  # noqa
142
+    autocomplete_url = 'https://suggestqueries.google.com/complete/search?client=toolbar&'
143 143
 
144 144
     response = get(autocomplete_url
145 145
                    + urlencode(dict(q=query)))
@@ -153,9 +153,20 @@ def google(query):
153 153
     return results
154 154
 
155 155
 
156
+def startpage(query):
157
+    # wikipedia autocompleter
158
+    url = 'https://startpage.com/do/suggest?{query}'
159
+
160
+    resp = get(url.format(query=urlencode({'query': query}))).text.split('\n')
161
+    print resp
162
+    if len(resp) > 1:
163
+        return resp
164
+    return []
165
+
166
+
156 167
 def wikipedia(query):
157 168
     # wikipedia autocompleter
158
-    url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'  # noqa
169
+    url = 'https://en.wikipedia.org/w/api.php?action=opensearch&{0}&limit=10&namespace=0&format=json'
159 170
 
160 171
     resp = loads(get(url.format(urlencode(dict(search=query)))).text)
161 172
     if len(resp) > 1:
@@ -166,5 +177,6 @@ def wikipedia(query):
166 177
 backends = {'dbpedia': dbpedia,
167 178
             'duckduckgo': duckduckgo,
168 179
             'google': google,
180
+            'startpage': startpage,
169 181
             'wikipedia': wikipedia
170 182
             }