diff options
| author | Alexandre Flament <alex@al-f.net> | 2021-04-23 21:08:48 +0200 |
|---|---|---|
| committer | Alexandre Flament <alex@al-f.net> | 2021-04-25 14:28:06 +0200 |
| commit | df41b7712150adf384bc08e38215a7cc9970c100 (patch) | |
| tree | e03332896d7941c9d3432164fd8fa541d4f8ece5 /searx/webapp.py | |
| parent | 0603b043ceadbc833410464bbf576fda8c11dc97 (diff) | |
[mod] /stats : detail per engine
allow to submit a github issue including the technical details
(exceptions, errors, warning, checker result)
Diffstat (limited to 'searx/webapp.py')
| -rwxr-xr-x | searx/webapp.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index d917c16d4..69ec915a7 100755 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -1073,16 +1073,23 @@ def image_proxy(): @app.route('/stats', methods=['GET']) def stats(): """Render engine statistics page.""" + sort_order = request.args.get('sort', default='name', type=str) + selected_engine_name = request.args.get('engine', default=None, type=str) + + filtered_engines = dict(filter(lambda kv: (kv[0], request.preferences.validate_token(kv[1])), engines.items())) + if selected_engine_name: + if selected_engine_name not in filtered_engines: + selected_engine_name = None + else: + filtered_engines = [selected_engine_name] + checker_results = checker_get_result() checker_results = checker_results['engines'] \ if checker_results['status'] == 'ok' and 'engines' in checker_results else {} - filtered_engines = dict(filter(lambda kv: (kv[0], request.preferences.validate_token(kv[1])), engines.items())) engine_stats = get_engines_stats(filtered_engines) engine_reliabilities = get_reliabilities(filtered_engines, checker_results) - sort_order = request.args.get('sort', default='name', type=str) - SORT_PARAMETERS = { 'name': (False, 'name', ''), 'score': (True, 'score', 0), @@ -1114,6 +1121,7 @@ def stats(): sort_order=sort_order, engine_stats=engine_stats, engine_reliabilities=engine_reliabilities, + selected_engine_name=selected_engine_name, ) |