|
@@ -49,6 +49,7 @@ from flask import (
|
49
|
49
|
redirect, send_from_directory
|
50
|
50
|
)
|
51
|
51
|
from flask.ext.babel import Babel, gettext, format_date
|
|
52
|
+from flask.json import jsonify
|
52
|
53
|
from searx import settings, searx_dir
|
53
|
54
|
from searx.engines import (
|
54
|
55
|
categories, engines, get_engines_stats, engine_shortcuts
|
|
@@ -685,6 +686,24 @@ def clear_cookies():
|
685
|
686
|
return resp
|
686
|
687
|
|
687
|
688
|
|
|
689
|
+@app.route('/config')
|
|
690
|
+def config():
|
|
691
|
+ return jsonify({'categories': categories.keys(),
|
|
692
|
+ 'engines': [{'name': engine_name,
|
|
693
|
+ 'categories': engine.categories,
|
|
694
|
+ 'enabled': not engine.disabled}
|
|
695
|
+ for engine_name, engine in engines.items()],
|
|
696
|
+ 'plugins': [{'name': plugin.name,
|
|
697
|
+ 'enabled': plugin.default_on}
|
|
698
|
+ for plugin in plugins],
|
|
699
|
+ 'instance_name': settings['general']['instance_name'],
|
|
700
|
+ 'locales': settings['locales'],
|
|
701
|
+ 'default_locale': settings['ui']['default_locale'],
|
|
702
|
+ 'autocomplete': settings['search']['autocomplete'],
|
|
703
|
+ 'safe_search': settings['search']['safe_search'],
|
|
704
|
+ 'default_theme': settings['ui']['default_theme']})
|
|
705
|
+
|
|
706
|
+
|
688
|
707
|
def run():
|
689
|
708
|
app.run(
|
690
|
709
|
debug=settings['general']['debug'],
|