Browse Source

[mod] searching by selected engines

asciimoo 11 years ago
parent
commit
70278567ec
2 changed files with 12 additions and 10 deletions
  1. 1
    8
      searx/engines/__init__.py
  2. 11
    2
      searx/webapp.py

+ 1
- 8
searx/engines/__init__.py View File

97
         results[engine_name] = cb_res
97
         results[engine_name] = cb_res
98
     return process_callback
98
     return process_callback
99
 
99
 
100
-def search(query, request, selected_categories):
100
+def search(query, request, selected_engines):
101
     global engines, categories, number_of_searches
101
     global engines, categories, number_of_searches
102
     requests = []
102
     requests = []
103
     results = {}
103
     results = {}
104
-    selected_engines = []
105
     number_of_searches += 1
104
     number_of_searches += 1
106
     user_agent = request.headers.get('User-Agent', '')
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
     for selected_engine in selected_engines:
107
     for selected_engine in selected_engines:
115
         if selected_engine['name'] not in engines:
108
         if selected_engine['name'] not in engines:
116
             continue
109
             continue

+ 11
- 2
searx/webapp.py View File

65
         request_data = request.args
65
         request_data = request.args
66
     if not request_data.get('q'):
66
     if not request_data.get('q'):
67
         return render('index.html')
67
         return render('index.html')
68
+
69
+    query = request_data['q'].encode('utf-8')
70
+
68
     selected_categories = []
71
     selected_categories = []
69
     for pd_name,pd in request_data.items():
72
     for pd_name,pd in request_data.items():
70
         if pd_name.startswith('category_'):
73
         if pd_name.startswith('category_'):
77
         for ccateg in cookie_categories:
80
         for ccateg in cookie_categories:
78
             if ccateg in categories:
81
             if ccateg in categories:
79
                 selected_categories.append(ccateg)
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
     for result in results:
91
     for result in results:
83
         if len(result['url']) > 74:
92
         if len(result['url']) > 74:
84
             result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]
93
             result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]