瀏覽代碼

[mod] searching by selected engines

asciimoo 11 年之前
父節點
當前提交
70278567ec
共有 2 個文件被更改,包括 12 次插入10 次删除
  1. 1
    8
      searx/engines/__init__.py
  2. 11
    2
      searx/webapp.py

+ 1
- 8
searx/engines/__init__.py 查看文件

@@ -97,20 +97,13 @@ def make_callback(engine_name, results, callback, params):
97 97
         results[engine_name] = cb_res
98 98
     return process_callback
99 99
 
100
-def search(query, request, selected_categories):
100
+def search(query, request, selected_engines):
101 101
     global engines, categories, number_of_searches
102 102
     requests = []
103 103
     results = {}
104
-    selected_engines = []
105 104
     number_of_searches += 1
106 105
     user_agent = request.headers.get('User-Agent', '')
107 106
 
108
-    if not len(selected_categories):
109
-        selected_categories = ['general']
110
-
111
-    for categ in selected_categories:
112
-        selected_engines.extend({'category': categ, 'name': x.name} for x in categories[categ])
113
-
114 107
     for selected_engine in selected_engines:
115 108
         if selected_engine['name'] not in engines:
116 109
             continue

+ 11
- 2
searx/webapp.py 查看文件

@@ -65,6 +65,9 @@ def index():
65 65
         request_data = request.args
66 66
     if not request_data.get('q'):
67 67
         return render('index.html')
68
+
69
+    query = request_data['q'].encode('utf-8')
70
+
68 71
     selected_categories = []
69 72
     for pd_name,pd in request_data.items():
70 73
         if pd_name.startswith('category_'):
@@ -77,8 +80,14 @@ def index():
77 80
         for ccateg in cookie_categories:
78 81
             if ccateg in categories:
79 82
                 selected_categories.append(ccateg)
80
-    query = request_data['q'].encode('utf-8')
81
-    results = search(query, request, selected_categories)
83
+    if not len(selected_categories):
84
+        selected_categories = ['general']
85
+
86
+    selected_engines = []
87
+    for categ in selected_categories:
88
+        selected_engines.extend({'category': categ, 'name': x.name} for x in categories[categ])
89
+
90
+    results = search(query, request, selected_engines)
82 91
     for result in results:
83 92
         if len(result['url']) > 74:
84 93
             result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]