소스 검색

[enh] HTTP GET support

asciimoo 11 년 전
부모
커밋
e75432c505
1개의 변경된 파일7개의 추가작업 그리고 6개의 파일을 삭제
  1. 7
    6
      searx/webapp.py

+ 7
- 6
searx/webapp.py 파일 보기

@@ -60,12 +60,13 @@ def render(template_name, **kwargs):
60 60
 def index():
61 61
     global categories
62 62
     if request.method=='POST':
63
-        if not request.form.get('q'):
64
-            flash('Wrong post data')
65
-            return render('index.html')
63
+        request_data = request.form
64
+    else:
65
+        request_data = request.args
66
+    if request_data.get('q'):
66 67
         selected_engines = []
67 68
         selected_categories = []
68
-        for pd_name,pd in request.form.items():
69
+        for pd_name,pd in request_data.items():
69 70
             if pd_name.startswith('category_'):
70 71
                 category = pd_name[9:]
71 72
                 if not category in categories:
@@ -81,9 +82,9 @@ def index():
81 82
         if not len(selected_engines):
82 83
             selected_categories.append('general')
83 84
             selected_engines.extend(x.name for x in categories['general'])
84
-        query = request.form['q'].encode('utf-8')
85
+        query = request_data['q'].encode('utf-8')
85 86
         results = search(query, request, selected_engines)
86
-        if request.form.get('format') == 'json':
87
+        if request_data.get('format') == 'json':
87 88
             # TODO HTTP headers
88 89
             return json.dumps({'query': query, 'results': results})
89 90
         template = render('results.html'