瀏覽代碼

[mod] replace references request.request_data (GET or POST parameters) by request.form (based on merge of POST and GET parameters)

Alexandre Flament 8 年之前
父節點
當前提交
58a6c045c8
共有 2 個檔案被更改,包括 13 行新增23 行删除
  1. 6
    6
      searx/search.py
  2. 7
    17
      searx/webapp.py

+ 6
- 6
searx/search.py 查看文件

128
     return process_callback
128
     return process_callback
129
 
129
 
130
 
130
 
131
-def get_search_query_from_webapp(preferences, request_data):
131
+def get_search_query_from_webapp(preferences, form):
132
     query = None
132
     query = None
133
     query_engines = []
133
     query_engines = []
134
     query_categories = []
134
     query_categories = []
147
     query_safesearch = preferences.get_value('safesearch')
147
     query_safesearch = preferences.get_value('safesearch')
148
 
148
 
149
     # TODO better exceptions
149
     # TODO better exceptions
150
-    if not request_data.get('q'):
150
+    if not form.get('q'):
151
         raise Exception('noquery')
151
         raise Exception('noquery')
152
 
152
 
153
     # set pagenumber
153
     # set pagenumber
154
-    pageno_param = request_data.get('pageno', '1')
154
+    pageno_param = form.get('pageno', '1')
155
     if not pageno_param.isdigit() or int(pageno_param) < 1:
155
     if not pageno_param.isdigit() or int(pageno_param) < 1:
156
         pageno_param = 1
156
         pageno_param = 1
157
 
157
 
159
 
159
 
160
     # parse query, if tags are set, which change
160
     # parse query, if tags are set, which change
161
     # the serch engine or search-language
161
     # the serch engine or search-language
162
-    raw_text_query = RawTextQuery(request_data['q'], disabled_engines)
162
+    raw_text_query = RawTextQuery(form['q'], disabled_engines)
163
     raw_text_query.parse_query()
163
     raw_text_query.parse_query()
164
 
164
 
165
     # set query
165
     # set query
170
     if len(raw_text_query.languages):
170
     if len(raw_text_query.languages):
171
         query_lang = raw_text_query.languages[-1]
171
         query_lang = raw_text_query.languages[-1]
172
 
172
 
173
-    query_time_range = request_data.get('time_range')
173
+    query_time_range = form.get('time_range')
174
 
174
 
175
     query_engines = raw_text_query.engines
175
     query_engines = raw_text_query.engines
176
 
176
 
185
     else:
185
     else:
186
         # set categories/engines
186
         # set categories/engines
187
         load_default_categories = True
187
         load_default_categories = True
188
-        for pd_name, pd in request_data.items():
188
+        for pd_name, pd in form.items():
189
             if pd_name == 'categories':
189
             if pd_name == 'categories':
190
                 query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
190
                 query_categories.extend(categ for categ in map(unicode.strip, pd.split(',')) if categ in categories)
191
             elif pd_name == 'engines':
191
             elif pd_name == 'engines':

+ 7
- 17
searx/webapp.py 查看文件

364
 
364
 
365
 @app.before_request
365
 @app.before_request
366
 def pre_request():
366
 def pre_request():
367
-    # request.request_data
368
-    if request.method == 'POST':
369
-        request_data = request.form
370
-    elif request.method == 'GET':
371
-        request_data = request.args
372
-    else:
373
-        request_data = {}
374
-
375
-    request.request_data = request_data
376
-
377
     # merge GET, POST vars
367
     # merge GET, POST vars
378
     preferences = Preferences(themes, categories.keys(), engines, plugins)
368
     preferences = Preferences(themes, categories.keys(), engines, plugins)
379
     try:
369
     try:
416
     search_query = None
406
     search_query = None
417
     result_container = None
407
     result_container = None
418
     try:
408
     try:
419
-        search_query = get_search_query_from_webapp(request.preferences, request.request_data)
409
+        search_query = get_search_query_from_webapp(request.preferences, request.form)
420
         # search = Search(search_query) #  without plugins
410
         # search = Search(search_query) #  without plugins
421
         search = SearchWithPlugins(search_query, request)
411
         search = SearchWithPlugins(search_query, request)
422
         result_container = search.search()
412
         result_container = search.search()
428
     results = result_container.get_ordered_results()
418
     results = result_container.get_ordered_results()
429
 
419
 
430
     # UI
420
     # UI
431
-    advanced_search = request.request_data.get('advanced_search', None)
432
-    output_format = request.request_data.get('format', 'html')
421
+    advanced_search = request.form.get('advanced_search', None)
422
+    output_format = request.form.get('format', 'html')
433
     if output_format not in ['html', 'csv', 'json', 'rss']:
423
     if output_format not in ['html', 'csv', 'json', 'rss']:
434
         output_format = 'html'
424
         output_format = 'html'
435
 
425
 
490
         response_rss = render(
480
         response_rss = render(
491
             'opensearch_response_rss.xml',
481
             'opensearch_response_rss.xml',
492
             results=results,
482
             results=results,
493
-            q=request.request_data['q'],
483
+            q=request.form['q'],
494
             number_of_results=number_of_results,
484
             number_of_results=number_of_results,
495
             base_url=get_base_url()
485
             base_url=get_base_url()
496
         )
486
         )
499
     return render(
489
     return render(
500
         'results.html',
490
         'results.html',
501
         results=results,
491
         results=results,
502
-        q=request.request_data['q'],
492
+        q=request.form['q'],
503
         selected_categories=search_query.categories,
493
         selected_categories=search_query.categories,
504
         pageno=search_query.pageno,
494
         pageno=search_query.pageno,
505
         time_range=search_query.time_range,
495
         time_range=search_query.time_range,
531
     disabled_engines = request.preferences.engines.get_disabled()
521
     disabled_engines = request.preferences.engines.get_disabled()
532
 
522
 
533
     # parse query
523
     # parse query
534
-    raw_text_query = RawTextQuery(request.request_data.get('q', '').encode('utf-8'), disabled_engines)
524
+    raw_text_query = RawTextQuery(request.form.get('q', '').encode('utf-8'), disabled_engines)
535
     raw_text_query.parse_query()
525
     raw_text_query.parse_query()
536
 
526
 
537
     # check if search query is set
527
     # check if search query is set
564
         results.append(raw_text_query.getFullQuery())
554
         results.append(raw_text_query.getFullQuery())
565
 
555
 
566
     # return autocompleter results
556
     # return autocompleter results
567
-    if request.request_data.get('format') == 'x-suggestions':
557
+    if request.form.get('format') == 'x-suggestions':
568
         return Response(json.dumps([raw_text_query.query, results]),
558
         return Response(json.dumps([raw_text_query.query, results]),
569
                         mimetype='application/json')
559
                         mimetype='application/json')
570
 
560