logo

searx

My custom branche(s) on searx, a meta-search engine git clone https://hacktivis.me/git/searx.git
commit: 8cc529e9a3976e48676676600379ce43f690dd8c
parent d04e471ce53c5efd224a4ed0e7b5d88fb0d3a093
Author: Noémi Ványi <sitbackandwait@gmail.com>
Date:   Thu, 22 Mar 2018 11:02:24 +0100

forward category to engine without highlighting on the ui

Diffstat:

Msearx/engines/findx.py6+-----
Msearx/query.py15+++++++++++----
Msearx/search.py9+++++++--
3 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/searx/engines/findx.py b/searx/engines/findx.py @@ -33,12 +33,8 @@ type_map = { def request(query, params): - category = 'general' - if 'category' in params and len(params['category']) == 1: - category = params['category'][0] - params['url'] = search_url.format( - category=type_map[category], + category=type_map[params['category']], q=urlencode({ 'q': query, 'page': params['pageno'] diff --git a/searx/query.py b/searx/query.py @@ -107,14 +107,21 @@ class RawTextQuery(object): # check if prefix is equal with engine shortcut if prefix in engine_shortcuts: parse_next = True - self.engines.append({'category': 'none', - 'name': engine_shortcuts[prefix]}) + engine_name = engine_shortcuts[prefix] + if engine_name in engines: + for engine_category in engines[engine_name].categories: + self.engines.append({'category': engine_category, + 'name': engine_name, + 'from_bang': True}) # check if prefix is equal with engine name elif prefix in engines: parse_next = True - self.engines.append({'category': 'none', - 'name': prefix}) + if prefix in engines: + for engine_category in engines[engine_name].categories: + self.engines.append({'category': engine_category, + 'name': engine_name, + 'from_bang': True}) # check if prefix is equal with categorie name elif prefix in categories: diff --git a/searx/search.py b/searx/search.py @@ -258,8 +258,13 @@ def get_search_query_from_webapp(preferences, form): # if engines are calculated from query, # set categories by using that informations if query_engines and raw_text_query.specific: - query_categories = list(set(engine['category'] - for engine in query_engines)) + additional_categories = set() + for engine in query_engines: + if 'from_bang' in engine and engine['from_bang']: + additional_categories.add('none') + else: + additional_categories.add(engine['category']) + query_categories = list(additional_categories) # otherwise, using defined categories to # calculate which engines should be used