瀏覽代碼

Merge branch 'master' into wolframalpha

a01200356 9 年之前
父節點
當前提交
84cd09ac34
共有 5 個檔案被更改,包括 56 行新增10 行删除
  1. 3
    0
      AUTHORS.rst
  2. 21
    0
      CHANGELOG.rst
  3. 30
    9
      searx/engines/gigablast.py
  4. 1
    0
      searx/tests/engines/test_gigablast.py
  5. 1
    1
      searx/version.py

+ 3
- 0
AUTHORS.rst 查看文件

@@ -38,3 +38,6 @@ generally made searx better:
38 38
 - Niklas Haas
39 39
 - @underr
40 40
 - Emmanuel Benazera
41
+- @GreenLunar
42
+- Noemi Vanyi
43
+- Kang-min Liu

+ 21
- 0
CHANGELOG.rst 查看文件

@@ -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
+
1 21
 0.8.0 2015.09.08
2 22
 ================
3 23
 
@@ -44,6 +64,7 @@ News
44 64
 
45 65
 @dalf joined the maintainer "team"
46 66
 
67
+
47 68
 0.7.0 2015.02.03
48 69
 ================
49 70
 

+ 30
- 9
searx/engines/gigablast.py 查看文件

@@ -19,11 +19,21 @@ from time import time
19 19
 # engine dependent config
20 20
 categories = ['general']
21 21
 paging = 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
25 27
 base_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 38
 # specific xpath variables
29 39
 results_xpath = '//response//result'
@@ -36,12 +46,23 @@ content_xpath = './/sum'
36 46
 def request(query, params):
37 47
     offset = (params['pageno'] - 1) * number_of_results
38 48
 
39
-    search_path = search_string.format(
40
-        query=urlencode({'q': query}),
41
-        offset=offset,
42
-        number_of_results=number_of_results,
43
-        rxiyd=randint(10000, 10000000),
44
-        rand=int(time()))
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
+
59
+    search_path = search_string.format(query=urlencode({'q': query}),
60
+                                       offset=offset,
61
+                                       number_of_results=number_of_results,
62
+                                       rxiyd=randint(10000, 10000000),
63
+                                       rand=int(time()),
64
+                                       lang=language,
65
+                                       safesearch=safesearch)
45 66
 
46 67
     params['url'] = base_url + search_path
47 68
 

+ 1
- 0
searx/tests/engines/test_gigablast.py 查看文件

@@ -10,6 +10,7 @@ class TestGigablastEngine(SearxTestCase):
10 10
         query = 'test_query'
11 11
         dicto = defaultdict(dict)
12 12
         dicto['pageno'] = 0
13
+        dicto['language'] = 'all'
13 14
         params = gigablast.request(query, dicto)
14 15
         self.assertTrue('url' in params)
15 16
         self.assertTrue(query in params['url'])

+ 1
- 1
searx/version.py 查看文件

@@ -19,7 +19,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
19 19
 # version of searx
20 20
 VERSION_MAJOR = 0
21 21
 VERSION_MINOR = 8
22
-VERSION_BUILD = 0
22
+VERSION_BUILD = 1
23 23
 
24 24
 VERSION_STRING = "{0}.{1}.{2}".format(VERSION_MAJOR,
25 25
                                       VERSION_MINOR,