summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
authorasciimoo <asciimoo@gmail.com>2013-10-15 18:19:06 +0200
committerasciimoo <asciimoo@gmail.com>2013-10-15 18:19:06 +0200
commitd5ec0f43e465e1bd016f1c841122fc3c774fc718 (patch)
tree33a0f3f8fc688ef544dc2bc8d95e1443409503c4 /searx/webapp.py
parent2440e74b1eb75832e3a187e4130b4df212a4dc06 (diff)
[mod] search refactor
Diffstat (limited to 'searx/webapp.py')
-rw-r--r--searx/webapp.py35
1 files changed, 2 insertions, 33 deletions
diff --git a/searx/webapp.py b/searx/webapp.py
index cfb30ba67..2dd9e28d7 100644
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -25,8 +25,7 @@ if __name__ == "__main__":
from flask import Flask, request, flash, render_template
import ConfigParser
from os import getenv
-from searx.engines import engines
-import grequests
+from searx.engines import search
cfg = ConfigParser.SafeConfigParser()
cfg.read('/etc/searx.conf')
@@ -38,14 +37,6 @@ cfg.read('searx.conf')
app = Flask(__name__)
app.secret_key = cfg.get('app', 'secret_key')
-def default_request_params():
- return {'method': 'GET', 'headers': {}, 'data': {}, 'url': ''}
-
-def make_callback(results, callback):
- def process_callback(response, **kwargs):
- results.extend(callback(response))
- return process_callback
-
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method=='POST':
@@ -53,30 +44,8 @@ def index():
flash('Wrong post data')
return render_template('index.html')
query = request.form['q']
- requests = []
- results = []
- user_agent = request.headers.get('User-Agent', '')
- for engine in engines:
- headers = default_request_params()
- headers['User-Agent'] = user_agent
- request_params = engine.request(query, headers)
- callback = make_callback(results, engine.response)
- if request_params['method'] == 'GET':
- req = grequests.get(request_params['url']
- ,headers=headers
- ,hooks=dict(response=callback)
- )
- else:
- req = grequests.post(request_params['url']
- ,data=request_params['data']
- ,headers=headers
- ,hooks=dict(response=callback)
- )
- requests.append(req)
- grequests.map(requests)
+ results = search(query, request)
return render_template('results.html', results=results, q=query)
-
-
return render_template('index.html')
if __name__ == "__main__":