| 
				
			 | 
			
			
				@@ -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
			 | 
			
			
				             } 
			 |