diff options
| author | asciimoo <asciimoo@gmail.com> | 2014-01-29 20:52:04 +0100 |
|---|---|---|
| committer | asciimoo <asciimoo@gmail.com> | 2014-01-29 20:52:04 +0100 |
| commit | 8bb94e3dc4c35042ec5fb16f412331f4b8ca6c8a (patch) | |
| tree | 827dd9b5c248e39a62301c782ffaa2603c0a32b5 /searx/engines/__init__.py | |
| parent | 93b5ecdc756d0fc81d72d0f85b6d24af32a081cf (diff) | |
[enh] paging support
Diffstat (limited to 'searx/engines/__init__.py')
| -rw-r--r-- | searx/engines/__init__.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 96b074ae9..73a63f0a3 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -53,6 +53,8 @@ if not 'engines' in settings or not settings['engines']: for engine_data in settings['engines']: engine_name = engine_data['engine'] engine = load_module(engine_name + '.py') + if not hasattr(engine, 'paging'): + engine.paging = False for param_name in engine_data: if param_name == 'engine': continue @@ -156,7 +158,7 @@ def score_results(results): return sorted(results, key=itemgetter('score'), reverse=True) -def search(query, request, selected_engines): +def search(query, request, selected_engines, pageno=1): global engines, categories, number_of_searches requests = [] results = {} @@ -171,10 +173,14 @@ def search(query, request, selected_engines): engine = engines[selected_engine['name']] + if pageno > 1 and not engine.paging: + continue + request_params = default_request_params() request_params['headers']['User-Agent'] = user_agent request_params['category'] = selected_engine['category'] request_params['started'] = datetime.now() + request_params['pageno'] = pageno request_params = engine.request(query, request_params) callback = make_callback( |