mirror of
https://github.com/searxng/searxng
synced 2024-01-01 18:24:07 +00:00
[enh] default disabled engines - closes #109
This commit is contained in:
parent
bfd321a7a9
commit
b19e681cce
@ -69,17 +69,17 @@ def load_engine(engine_data):
|
||||
engine.categories = ['general']
|
||||
|
||||
if not hasattr(engine, 'language_support'):
|
||||
# engine.language_support = False
|
||||
engine.language_support = True
|
||||
|
||||
if not hasattr(engine, 'timeout'):
|
||||
# engine.language_support = False
|
||||
engine.timeout = settings['server']['request_timeout']
|
||||
|
||||
if not hasattr(engine, 'shortcut'):
|
||||
# engine.shortcut = '''
|
||||
engine.shortcut = ''
|
||||
|
||||
if not hasattr(engine, 'disabled'):
|
||||
engine.disabled = False
|
||||
|
||||
# checking required variables
|
||||
for engine_attr in dir(engine):
|
||||
if engine_attr.startswith('_'):
|
||||
|
@ -27,7 +27,7 @@ from searx.engines import (
|
||||
categories, engines
|
||||
)
|
||||
from searx.languages import language_codes
|
||||
from searx.utils import gen_useragent
|
||||
from searx.utils import gen_useragent, get_blocked_engines
|
||||
from searx.query import Query
|
||||
from searx import logger
|
||||
|
||||
@ -320,10 +320,7 @@ class Search(object):
|
||||
self.lang = 'all'
|
||||
|
||||
# set blocked engines
|
||||
if request.cookies.get('blocked_engines'):
|
||||
self.blocked_engines = request.cookies['blocked_engines'].split(',') # noqa
|
||||
else:
|
||||
self.blocked_engines = []
|
||||
self.blocked_engines = get_blocked_engines(engines, request.cookies)
|
||||
|
||||
self.results = []
|
||||
self.suggestions = []
|
||||
|
@ -96,6 +96,7 @@ engines:
|
||||
- name : general-file
|
||||
engine : generalfile
|
||||
shortcut : gf
|
||||
disabled : True
|
||||
|
||||
- name : github
|
||||
engine : github
|
||||
@ -121,6 +122,7 @@ engines:
|
||||
content_xpath : //a[@class="subtitle"]
|
||||
categories : files
|
||||
shortcut : gpa
|
||||
disabled : True
|
||||
|
||||
- name : google play movies
|
||||
engine : xpath
|
||||
@ -130,6 +132,7 @@ engines:
|
||||
content_xpath : //a[@class="subtitle"]
|
||||
categories : videos
|
||||
shortcut : gpm
|
||||
disabled : True
|
||||
|
||||
- name : google play music
|
||||
engine : xpath
|
||||
@ -139,6 +142,7 @@ engines:
|
||||
content_xpath : //a[@class="subtitle"]
|
||||
categories : music
|
||||
shortcut : gps
|
||||
disabled : True
|
||||
|
||||
- name : mixcloud
|
||||
engine : mixcloud
|
||||
@ -175,6 +179,7 @@ engines:
|
||||
- name : searchcode code
|
||||
engine : searchcode_code
|
||||
shortcut : scc
|
||||
disabled : True
|
||||
|
||||
- name : subtitleseeker
|
||||
engine : subtitleseeker
|
||||
|
@ -225,3 +225,11 @@ def prettify_url(url):
|
||||
return u'{0}[...]{1}'.format(url[:35], url[-35:])
|
||||
else:
|
||||
return url
|
||||
|
||||
|
||||
def get_blocked_engines(engines, cookies):
|
||||
if 'blocked_engines' not in cookies:
|
||||
return [engine for engine in engines if engines[engine].disabled]
|
||||
|
||||
return [engine for engine in cookies.get('blocked_engines', '').split(',')
|
||||
if engine in engines]
|
||||
|
@ -43,7 +43,7 @@ from searx.engines import (
|
||||
from searx.utils import (
|
||||
UnicodeWriter, highlight_content, html_to_text, get_themes,
|
||||
get_static_files, get_result_templates, gen_useragent, dict_subset,
|
||||
prettify_url
|
||||
prettify_url, get_blocked_engines
|
||||
)
|
||||
from searx.version import VERSION_STRING
|
||||
from searx.languages import language_codes
|
||||
@ -225,7 +225,7 @@ def image_proxify(url):
|
||||
|
||||
|
||||
def render(template_name, override_theme=None, **kwargs):
|
||||
blocked_engines = request.cookies.get('blocked_engines', '').split(',')
|
||||
blocked_engines = get_blocked_engines(engines, request.cookies)
|
||||
|
||||
autocomplete = request.cookies.get('autocomplete')
|
||||
|
||||
@ -410,10 +410,7 @@ def autocompleter():
|
||||
request_data = request.args
|
||||
|
||||
# set blocked engines
|
||||
if request.cookies.get('blocked_engines'):
|
||||
blocked_engines = request.cookies['blocked_engines'].split(',') # noqa
|
||||
else:
|
||||
blocked_engines = []
|
||||
blocked_engines = get_blocked_engines(engines, request.cookies)
|
||||
|
||||
# parse query
|
||||
query = Query(request_data.get('q', '').encode('utf-8'), blocked_engines)
|
||||
@ -468,7 +465,7 @@ def preferences():
|
||||
resp = make_response(redirect(url_for('index')))
|
||||
|
||||
if request.method == 'GET':
|
||||
blocked_engines = request.cookies.get('blocked_engines', '').split(',')
|
||||
blocked_engines = get_blocked_engines(engines, request.cookies)
|
||||
else: # on save
|
||||
selected_categories = []
|
||||
locale = None
|
||||
|
Loading…
Reference in New Issue
Block a user