summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--searx/templates/oscar/preferences.html7
-rw-r--r--searx/templates/simple/preferences.html7
-rwxr-xr-xsearx/webapp.py13
3 files changed, 25 insertions, 2 deletions
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html
index da88cd75..fe344a2e 100644
--- a/searx/templates/oscar/preferences.html
+++ b/searx/templates/oscar/preferences.html
@@ -348,7 +348,11 @@
<th scope="col" class="text-right">{{ _("Allow") }}</th>
{% endif %}
</tr>
- {% for search_engine in engines_by_category[categ] %}
+ {% for group, engines in engines_by_category[categ] | group_engines_in_tab %}
+ {% if loop.length > 1 %}
+ <tr><th colspan="9">{{_(group)}}</th></tr>
+ {% endif %}
+ {% for search_engine in engines %}
{% if not search_engine.private %}
<tr>
{% if not rtl %}
@@ -383,6 +387,7 @@
</tr>
{% endif %}
{% endfor %}
+ {% endfor %}
</table>
</div>
</fieldset>
diff --git a/searx/templates/simple/preferences.html b/searx/templates/simple/preferences.html
index 5f289c58..1d565c23 100644
--- a/searx/templates/simple/preferences.html
+++ b/searx/templates/simple/preferences.html
@@ -289,7 +289,11 @@
<th>{{ _("Max time") }}</th>
<th>{{ _("Reliability") }}</th>
</tr>
- {% for search_engine in engines_by_category[categ] %}
+ {% for group, engines in engines_by_category[categ] | group_engines_in_tab %}
+ {% if loop.length > 1 %}
+ <tr><th colspan="9">{{_(group)}}</th></tr>
+ {% endif %}
+ {% for search_engine in engines %}
{% if not search_engine.private %}
{% set engine_id = 'engine_' + search_engine.name|replace(' ', '_') + '__' + categ|replace(' ', '_') %}
<tr>
@@ -305,6 +309,7 @@
</tr>
{% endif %}
{% endfor %}
+ {% endfor %}
</table>
</div>
{{ tab_footer() }}
diff --git a/searx/webapp.py b/searx/webapp.py
index f884c35e..9ce7b9d5 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -59,9 +59,11 @@ from searx.settings_defaults import OUTPUT_FORMATS
from searx.settings_loader import get_default_settings_path
from searx.exceptions import SearxParameterException
from searx.engines import (
+ DEFAULT_GROUP_NAME,
categories,
engines,
engine_shortcuts,
+ group_engines_in_tab,
)
from searx.webutils import (
UnicodeWriter,
@@ -152,6 +154,7 @@ app = Flask(__name__, static_folder=settings['ui']['static_path'], template_fold
app.jinja_env.trim_blocks = True
app.jinja_env.lstrip_blocks = True
app.jinja_env.add_extension('jinja2.ext.loopcontrols') # pylint: disable=no-member
+app.jinja_env.filters['group_engines_in_tab'] = group_engines_in_tab # pylint: disable=no-member
app.secret_key = settings['server']['secret_key']
babel = Babel(app)
@@ -169,6 +172,16 @@ _category_names = (
gettext('map'),
gettext('onions'),
gettext('science'),
+ # non-tab categories
+ gettext('apps'),
+ gettext('dictionaries'),
+ gettext('lyrics'),
+ gettext('packages'),
+ gettext('q&a'),
+ gettext('repos'),
+ gettext('software wikis'),
+ gettext('web'),
+ gettext(DEFAULT_GROUP_NAME),
)
_simple_style = (gettext('auto'), gettext('light'), gettext('dark'))