From df41b7712150adf384bc08e38215a7cc9970c100 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Fri, 23 Apr 2021 21:08:48 +0200 Subject: [mod] /stats : detail per engine allow to submit a github issue including the technical details (exceptions, errors, warning, checker result) --- searx/templates/__common__/new_issue.html | 74 ++++++++++++++++++++++++++++ searx/templates/oscar/stats.html | 82 ++++++++++++++++++++++++++----- searx/templates/simple/stats.html | 70 ++++++++++++++++++++++++-- 3 files changed, 210 insertions(+), 16 deletions(-) create mode 100644 searx/templates/__common__/new_issue.html (limited to 'searx/templates') diff --git a/searx/templates/__common__/new_issue.html b/searx/templates/__common__/new_issue.html new file mode 100644 index 000000000..2a111a527 --- /dev/null +++ b/searx/templates/__common__/new_issue.html @@ -0,0 +1,74 @@ +{% macro new_issue(new_issue_url, engine_name, engine_reliability) %} +
+ + + + + + +
+{% endmacro %} diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html index b83714020..49c776ea8 100644 --- a/searx/templates/oscar/stats.html +++ b/searx/templates/oscar/stats.html @@ -1,18 +1,21 @@ -{% extends "oscar/base.html" %} +{% extends 'oscar/base.html' %} +{% from '__common__/new_issue.html' import new_issue %} -{% block title %}{{ _('stats') }} - {% endblock %} +{% block title %}{{ _('stats') }} - {% if selected_engine_name %} {{ selected_engine_name }} - {% endif %}{% endblock %} {%- macro th_sort(column_order, column_name) -%} - {% if column_order==sort_order %} - {{ column_name }} {{ icon('chevron-down') }} - {% else %} - {{ column_name }} - {% endif %} + {%- if selected_engine_name -%} + {{ column_name }} + {%- elif column_order==sort_order -%} + {{ column_name }} {{ icon('arrow-dropdown') }} + {%- else -%} + {{ column_name }} + {%- endif -%} {%- endmacro -%} {% block content %}
-

{{ _('Engine stats') }}

+

{{ _('Engine stats') }}{% if selected_engine_name %} - {{ selected_engine_name }}{% endif %}

@@ -31,14 +34,14 @@ {% for engine_stat in engine_stats.get('time', []) %} - {{ engine_stat.name }} + {{ engine_stat.name }} - {% if engine_stat.score %} + {%- if engine_stat.score -%} {{ engine_stat.score|round(1) }} - {% endif %} + {%- endif -%} {%- if engine_stat.result_count -%} @@ -92,6 +95,63 @@ {% endif %}
+
+ {% if selected_engine_name %} + {% for secondary in [False, True] %} + {% set ns = namespace(first=true) %} + {% for error in engine_reliabilities[selected_engine_name].errors %} + {% if secondary == error.secondary %} + {% if ns.first %} + {% set ns.first = false %} +

{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}

+ {% endif %} + + + + {%- if error.exception_classname -%} + + {%- elif error.log_message -%} + + {%- endif -%} + + + {% if error.log_parameters and error.log_parameters != (None, None, None) %}{{- '' -}} + + + {% endif %} + + + + +
{{ _('Exception') }}{{ error.exception_classname }}{{ _('Message') }}{{ error.log_message }}{{ _('Percentage') }}{{ error.percentage }}
{{ _('Parameter') }} + {%- for param in error.log_parameters -%} + {{ param }} + {%- endfor -%} +
{{ _('Filename') }}{{ error.filename }}:{{ error.line_no }}
{{ _('Function') }}{{ error.function }}
{{ _('Code') }}{{ error.code }}
+ {% endif %} + {% endfor %} + {% endfor %} + {% if engine_reliabilities[selected_engine_name].checker %} +

{{ _('Checker') }}

+ + + + + + {% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %} + + + + + {% endfor %} +
{{ _('Failed test') }}{{ _('Comment(s)') }}
{{ test_name }} + {% for r in results %}

{{ r }}

{% endfor %} +
+ {% endif %} + {{ new_issue(brand.NEW_ISSUE_URL, selected_engine_name, engine_reliabilities[selected_engine_name]) }} + {% endif %} +
+ {% endblock %} diff --git a/searx/templates/simple/stats.html b/searx/templates/simple/stats.html index eecd88903..098a54065 100644 --- a/searx/templates/simple/stats.html +++ b/searx/templates/simple/stats.html @@ -1,12 +1,15 @@ {% from 'simple/macros.html' import icon %} +{% from '__common__/new_issue.html' import new_issue %} {% extends "simple/base.html" %} {%- macro th_sort(column_order, column_name) -%} - {% if column_order==sort_order %} + {% if selected_engine_name %} + {{ column_name }} + {% elif column_order==sort_order %} {{ column_name }} {{ icon('arrow-dropdown') }} {% else %} - {{ column_name }} + {{ column_name }} {% endif %} {%- endmacro -%} @@ -15,12 +18,12 @@

searx

-

{{ _('Engine stats') }}

+

{{ _('Engine stats') }}{% if selected_engine_name %} - {{ selected_engine_name }}{% endif %}

{% if not engine_stats.get('time') %} {{ _('There is currently no data available. ') }} {% else %} - +
@@ -30,7 +33,7 @@ {% for engine_stat in engine_stats.get('time', []) %} - +
{{ th_sort('name', _("Engine name")) }} {{ th_sort('score', _('Scores')) }}
{{ engine_stat.name }}{{ engine_stat.name }} {% if engine_stat.score %} {{ engine_stat.score|round(1) }} @@ -90,4 +93,61 @@
{% endif %} +
+ {% if selected_engine_name %} + {% for secondary in [False, True] %} + {% set ns = namespace(first=true) %} + {% for error in engine_reliabilities[selected_engine_name].errors %} + {% if secondary == error.secondary %} + {% if ns.first %} + {% set ns.first = false %} +

{% if secondary %}{{ _('Warnings') }}{% else %}{{ _('Errors and exceptions') }}{% endif %}

+ {% endif %} + + + + {%- if error.exception_classname -%} + + {%- elif error.log_message -%} + + {%- endif -%} + + + {% if error.log_parameters and error.log_parameters != (None, None, None) %}{{- '' -}} + + + {% endif %} + + + + +
{{ _('Exception') }}{{ error.exception_classname }}{{ _('Message') }}{{ error.log_message }}{{ _('Percentage') }}{{ error.percentage }}
{{ _('Parameter') }} + {%- for param in error.log_parameters -%} + {{ param }} + {%- endfor -%} +
{{ _('Filename') }}{{ error.filename }}:{{ error.line_no }}
{{ _('Function') }}{{ error.function }}
{{ _('Code') }}{{ error.code }}
+ {% endif %} + {% endfor %} + {% endfor %} + {% if engine_reliabilities[selected_engine_name].checker %} +

{{ _('Checker') }}

+ + + + + + {% for test_name, results in engine_reliabilities[selected_engine_name].checker.items() %} + + + + + {% endfor %} +
{{ _('Failed test') }}{{ _('Comment(s)') }}
{{ test_name }} + {% for r in results %}

{{ r }}

{% endfor %} +
+ {% endif %} + {{ new_issue(brand.NEW_ISSUE_URL, selected_engine_name, engine_reliabilities[selected_engine_name]) }} + {% endif %} +
+ {% endblock %} -- cgit v1.2.3