Bläddra i källkod

[enh] engine selection support

asciimoo 11 år sedan
förälder
incheckning
9e1ded688f
2 ändrade filer med 10 tillägg och 2 borttagningar
  1. 3
    1
      searx/engines/__init__.py
  2. 7
    1
      searx/webapp.py

+ 3
- 1
searx/engines/__init__.py Visa fil

28
             results.append(result)
28
             results.append(result)
29
     return process_callback
29
     return process_callback
30
 
30
 
31
-def search(query, request):
31
+def search(query, request, selected_engines):
32
     global engines
32
     global engines
33
     requests = []
33
     requests = []
34
     results = []
34
     results = []
35
     user_agent = request.headers.get('User-Agent', '')
35
     user_agent = request.headers.get('User-Agent', '')
36
     for ename, engine in engines.items():
36
     for ename, engine in engines.items():
37
+        if ename not in selected_engines:
38
+            continue
37
         headers = default_request_params()
39
         headers = default_request_params()
38
         headers['User-Agent'] = user_agent
40
         headers['User-Agent'] = user_agent
39
         request_params = engine.request(query, headers)
41
         request_params = engine.request(query, headers)

+ 7
- 1
searx/webapp.py Visa fil

47
         if not request.form.get('q'):
47
         if not request.form.get('q'):
48
             flash('Wrong post data')
48
             flash('Wrong post data')
49
             return render('index.html')
49
             return render('index.html')
50
+        selected_engines = []
51
+        for pd_name,pd in request.form.items():
52
+            print pd
53
+            if pd_name.startswith('engine_'):
54
+                selected_engines.append(pd_name[7:])
55
+        print selected_engines
50
         query = request.form['q']
56
         query = request.form['q']
51
-        results = search(query, request)
57
+        results = search(query, request, selected_engines)
52
         return render('results.html', results=results, q=query)
58
         return render('results.html', results=results, q=query)
53
     return render('index.html')
59
     return render('index.html')
54
 
60