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
|
|
|
|
2014-01-20 02:31:20 +01:00
|
|
|
|
2013-10-14 23:54:33 +02:00
|
|
|
def request(query, params):
|
2014-01-20 02:31:20 +01: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-20 02:31:20 +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
|