Browse Source

[enh] HTTP GET support

asciimoo 11 years ago
parent
commit
e75432c505
1 changed files with 7 additions and 6 deletions
  1. 7
    6
      searx/webapp.py

+ 7
- 6
searx/webapp.py View File

60
 def index():
60
 def index():
61
     global categories
61
     global categories
62
     if request.method=='POST':
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
         selected_engines = []
67
         selected_engines = []
67
         selected_categories = []
68
         selected_categories = []
68
-        for pd_name,pd in request.form.items():
69
+        for pd_name,pd in request_data.items():
69
             if pd_name.startswith('category_'):
70
             if pd_name.startswith('category_'):
70
                 category = pd_name[9:]
71
                 category = pd_name[9:]
71
                 if not category in categories:
72
                 if not category in categories:
81
         if not len(selected_engines):
82
         if not len(selected_engines):
82
             selected_categories.append('general')
83
             selected_categories.append('general')
83
             selected_engines.extend(x.name for x in categories['general'])
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
         results = search(query, request, selected_engines)
86
         results = search(query, request, selected_engines)
86
-        if request.form.get('format') == 'json':
87
+        if request_data.get('format') == 'json':
87
             # TODO HTTP headers
88
             # TODO HTTP headers
88
             return json.dumps({'query': query, 'results': results})
89
             return json.dumps({'query': query, 'results': results})
89
         template = render('results.html'
90
         template = render('results.html'