| 
									
										
										
										
											2013-10-14 23:54:33 +02:00
										 |  |  | import json | 
					
						
							| 
									
										
										
										
											2013-10-23 23:55:37 +02:00
										 |  |  | from urllib import urlencode | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-05 13:50:17 +01:00
										 |  |  | url = 'http://api.duckduckgo.com/?{query}&format=json&pretty=0&no_redirect=1' | 
					
						
							| 
									
										
										
										
											2013-10-14 23:54:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | def request(query, params): | 
					
						
							| 
									
										
										
										
											2013-10-23 23:55:37 +02:00
										 |  |  |     params['url'] =  url.format(query=urlencode({'q': query})) | 
					
						
							| 
									
										
										
										
											2013-10-14 23:54:33 +02:00
										 |  |  |     return params | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | def response(resp): | 
					
						
							|  |  |  |     search_res = json.loads(resp.text) | 
					
						
							|  |  |  |     results = [] | 
					
						
							|  |  |  |     if 'Definition' in search_res: | 
					
						
							| 
									
										
										
										
											2013-10-15 19:11:43 +02:00
										 |  |  |         if search_res.get('AbstractURL'): | 
					
						
							| 
									
										
										
										
											2014-01-11 04:31:54 +01:00
										 |  |  |             res = {'title'    : search_res.get('Heading', '') | 
					
						
							|  |  |  |                   ,'content'  : search_res.get('Definition', '') | 
					
						
							|  |  |  |                   ,'url'      : search_res.get('AbstractURL', '') | 
					
						
							|  |  |  |                   ,'class'   : 'definition_result' | 
					
						
							| 
									
										
										
										
											2013-10-15 19:11:43 +02:00
										 |  |  |                   } | 
					
						
							|  |  |  |             results.append(res) | 
					
						
							| 
									
										
										
										
											2013-10-14 23:54:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     return results |