Sfoglia il codice sorgente

[enh] engine selection support

asciimoo 11 anni fa
parent
commit
9e1ded688f
2 ha cambiato i file con 10 aggiunte e 2 eliminazioni
  1. 3
    1
      searx/engines/__init__.py
  2. 7
    1
      searx/webapp.py

+ 3
- 1
searx/engines/__init__.py Vedi File

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

+ 7
- 1
searx/webapp.py Vedi File

@@ -47,8 +47,14 @@ def index():
47 47
         if not request.form.get('q'):
48 48
             flash('Wrong post data')
49 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 56
         query = request.form['q']
51
-        results = search(query, request)
57
+        results = search(query, request, selected_engines)
52 58
         return render('results.html', results=results, q=query)
53 59
     return render('index.html')
54 60