summaryrefslogtreecommitdiff
path: root/searx/engines/__init__.py
diff options
context:
space:
mode:
authorasciimoo <asciimoo@gmail.com>2013-10-17 21:06:28 +0200
committerasciimoo <asciimoo@gmail.com>2013-10-17 21:06:28 +0200
commitf76d80de543996f9a90eaf46e226354ad4681731 (patch)
tree1bc3f1df732b38ed56725c9dff9b14d15600c719 /searx/engines/__init__.py
parent1aff439931e134a7f01bf1fdfb9f4af3e81a990c (diff)
[enh] category support
Diffstat (limited to 'searx/engines/__init__.py')
-rw-r--r--searx/engines/__init__.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py
index 083ce06cd..cc531bbbe 100644
--- a/searx/engines/__init__.py
+++ b/searx/engines/__init__.py
@@ -27,15 +27,23 @@ engine_dir = dirname(realpath(__file__))
engines = {}
+categories = {'general': []}
+
for filename in listdir(engine_dir):
modname = splitext(filename)[0]
if filename.startswith('_') or not filename.endswith('.py'):
continue
filepath = join(engine_dir, filename)
engine = load_source(modname, filepath)
+ engine.name = modname
if not hasattr(engine, 'request') or not hasattr(engine, 'response'):
continue
engines[modname] = engine
+ if not hasattr(engine, 'categories'):
+ categories['general'].append(engine)
+ else:
+ for category_name in engine.categories:
+ categories.setdefault(category_name, []).append(engine)
def default_request_params():
return {'method': 'GET', 'headers': {}, 'data': {}, 'url': ''}