on master help sign in
Merge branch 'master' into wolframalpha
84cd09aa01200356
AUTHORS.rst+3
@@ -38,3 +38,6 @@ generally made searx better:
38- Niklas Haas
38- Niklas Haas
39- @underr
39- @underr
40- Emmanuel Benazera
40- Emmanuel Benazera
41+- @GreenLunar
42+- Noemi Vanyi
43+- Kang-min Liu
CHANGELOG.rst+21
@@ -1,3 +1,23 @@
1+0.8.1 2015.12.22
2+================
3+
4+- More efficient result parsing
5+- Rewritten google engine to prevent app crashes
6+- Other engine fixes/tweaks
7+
8+ - Bing news
9+ - Btdigg
10+ - Gigablast
11+ - Google images
12+ - Startpage
13+
14+
15+News
16+~~~~
17+
18+New documentation page is available: https://asciimoo.github.io/searx
19+
20+
10.8.0 2015.09.08
210.8.0 2015.09.08
2================
22================
3
23
@@ -44,6 +64,7 @@ News
44
64
45@dalf joined the maintainer "team"
65@dalf joined the maintainer "team"
46
66
67+
470.7.0 2015.02.03
680.7.0 2015.02.03
48================
69================
49
70
searx/engines/gigablast.py+30−9
@@ -19,11 +19,21 @@ from time import time
19# engine dependent config
19# engine dependent config
20categories = ['general']
20categories = ['general']
21paging = True
21paging = True
22−number_of_results = 5
22+number_of_results = 10
23+language_support = True
24+safesearch = True
23
25
24−# search-url, invalid HTTPS certificate
26+# search-url
25base_url = 'https://gigablast.com/'
27base_url = 'https://gigablast.com/'
26−search_string = 'search?{query}&n={number_of_results}&s={offset}&format=xml&qh=0&rxiyd={rxiyd}&rand={rand}'
28+search_string = 'search?{query}'\
29+ '&n={number_of_results}'\
30+ '&s={offset}'\
31+ '&format=xml'\
32+ '&qh=0'\
33+ '&rxiyd={rxiyd}'\
34+ '&rand={rand}'\
35+ '&qlang={lang}'\
36+ '&ff={safesearch}'
27
37
28# specific xpath variables
38# specific xpath variables
29results_xpath = '//response//result'
39results_xpath = '//response//result'
@@ -36,12 +46,23 @@ content_xpath = './/sum'
36def request(query, params):
46def request(query, params):
37 offset = (params['pageno'] - 1) * number_of_results
47 offset = (params['pageno'] - 1) * number_of_results
38
48
49+ if params['language'] == 'all':
50+ language = 'xx'
51+ else:
52+ language = params['language'][0:2]
53+
54+ if params['safesearch'] >= 1:
55+ safesearch = 1
56+ else:
57+ safesearch = 0
58+
39− search_path = search_string.format(
59+ search_path = search_string.format(query=urlencode({'q': query}),
40− query=urlencode({'q': query}),
41− offset=offset,
60+ offset=offset,
42− number_of_results=number_of_results,
61+ number_of_results=number_of_results,
43− rxiyd=randint(10000, 10000000),
62+ rxiyd=randint(10000, 10000000),
44− rand=int(time()))
63+ rand=int(time()),
64+ lang=language,
65+ safesearch=safesearch)
45
66
46 params['url'] = base_url + search_path
67 params['url'] = base_url + search_path
47
68
searx/tests/engines/test_gigablast.py+1
@@ -10,6 +10,7 @@ class TestGigablastEngine(SearxTestCase):
10 query = 'test_query'
10 query = 'test_query'
11 dicto = defaultdict(dict)
11 dicto = defaultdict(dict)
12 dicto['pageno'] = 0
12 dicto['pageno'] = 0
13+ dicto['language'] = 'all'
13 params = gigablast.request(query, dicto)
14 params = gigablast.request(query, dicto)
14 self.assertTrue('url' in params)
15 self.assertTrue('url' in params)
15 self.assertTrue(query in params['url'])
16 self.assertTrue(query in params['url'])
searx/version.py+1−1
@@ -19,7 +19,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
19# version of searx
19# version of searx
20VERSION_MAJOR = 0
20VERSION_MAJOR = 0
21VERSION_MINOR = 8
21VERSION_MINOR = 8
22−VERSION_BUILD = 0
22+VERSION_BUILD = 1
23
23
24VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,
24VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,
25 VERSION_MINOR,
25 VERSION_MINOR,