@@ -11,8 +11,6 @@
1111 @parse url, title, content
1212
1313 @todo rewrite to api
14− @todo language support
15− (the current used site does not support language-change)
1614"""
1715
1816from urllib import urlencode
@@ -39,13 +37,22 @@ def request(query, params):
3937 offset = (params['pageno'] - 1) * 30
4038
4139 if params['language'] == 'all':
42− locale = 'en-us'
40+ locale = None
4341 else:
44− locale = params['language'].replace('_', '-').lower()
45−
46− params['url'] = url.format(
47− query=urlencode({'q': query, 'kl': locale}),
48− offset=offset)
42+ locale = params['language'].split('_')
43+ if len(locale) == 2:
44+ # country code goes first
45+ locale = locale[1].lower() + '-' + locale[0].lower()
46+ else:
47+ # doesn't actually do anything because ddg requires both country and language
48+ locale = locale[0].lower()
49+
50+ if locale:
51+ params['url'] = url.format(
52+ query=urlencode({'q': query, 'kl': locale}), offset=offset)
53+ else:
54+ params['url'] = url.format(
55+ query=urlencode({'q': query}), offset=offset)
4956
5057 return params
5158