on master help sign in
[enh] default disabled engines - closes #109
commitb19e681cce9cef4993b17d3a89d743208f8d5c05 authorAdam Tauber <asciimoo@gmail.com> dateSat 31 Jan 2015, 23:11 (12 years ago) parentbfd321a
5 files changed+23−16
searx/engines/__init__.py+3−3 searx/search.py+2−5 searx/settings.yml+6−1 searx/utils.py+8 searx/webapp.py+4−7
searx/engines/__init__.py+3−3
@@ -69,17 +69,17 @@ def load_engine(engine_data):
6969 engine.categories = ['general']
7070
7171 if not hasattr(engine, 'language_support'):
72− # engine.language_support = False
7372 engine.language_support = True
7473
7574 if not hasattr(engine, 'timeout'):
76− # engine.language_support = False
7775 engine.timeout = settings['server']['request_timeout']
7876
7977 if not hasattr(engine, 'shortcut'):
80− # engine.shortcut = '''
8178 engine.shortcut = ''
8279
80+ if not hasattr(engine, 'disabled'):
81+ engine.disabled = False
82+
8383 # checking required variables
8484 for engine_attr in dir(engine):
8585 if engine_attr.startswith('_'):
searx/search.py+2−5
@@ -27,7 +27,7 @@ from searx.engines import (
2727 categories, engines
2828)
2929from searx.languages import language_codes
30−from searx.utils import gen_useragent
30+from searx.utils import gen_useragent, get_blocked_engines
3131from searx.query import Query
3232from searx import logger
3333
@@ -320,10 +320,7 @@ class Search(object):
320320 self.lang = 'all'
321321
322322 # set blocked engines
323− if request.cookies.get('blocked_engines'):
324− self.blocked_engines = request.cookies['blocked_engines'].split(',') # noqa
325− else:
326− self.blocked_engines = []
323+ self.blocked_engines = get_blocked_engines(engines, request.cookies)
327324
328325 self.results = []
329326 self.suggestions = []
searx/settings.yml+6−1
@@ -96,6 +96,7 @@ engines:
9696 - name : general-file
9797 engine : generalfile
9898 shortcut : gf
99+ disabled : True
99100
100101 - name : github
101102 engine : github
@@ -121,6 +122,7 @@ engines:
121122 content_xpath : //a[@class="subtitle"]
122123 categories : files
123124 shortcut : gpa
125+ disabled : True
124126
125127 - name : google play movies
126128 engine : xpath
@@ -130,6 +132,7 @@ engines:
130132 content_xpath : //a[@class="subtitle"]
131133 categories : videos
132134 shortcut : gpm
135+ disabled : True
133136
134137 - name : google play music
135138 engine : xpath
@@ -139,6 +142,7 @@ engines:
139142 content_xpath : //a[@class="subtitle"]
140143 categories : music
141144 shortcut : gps
145+ disabled : True
142146
143147 - name : mixcloud
144148 engine : mixcloud
@@ -175,6 +179,7 @@ engines:
175179 - name : searchcode code
176180 engine : searchcode_code
177181 shortcut : scc
182+ disabled : True
178183
179184 - name : subtitleseeker
180185 engine : subtitleseeker
@@ -239,7 +244,7 @@ engines:
239244# shortcut : ya
240245# base_url : 'http://localhost:8090'
241246# number_of_results : 5
242−# timeout: 3.0
247+# timeout : 3.0
243248
244249locales:
245250 en : English
searx/utils.py+8
@@ -225,3 +225,11 @@ def prettify_url(url):
225225 return u'{0}[...]{1}'.format(url[:35], url[-35:])
226226 else:
227227 return url
228+
229+
230+def get_blocked_engines(engines, cookies):
231+ if 'blocked_engines' not in cookies:
232+ return [engine for engine in engines if engines[engine].disabled]
233+
234+ return [engine for engine in cookies.get('blocked_engines', '').split(',')
235+ if engine in engines]
searx/webapp.py+4−7
@@ -43,7 +43,7 @@ from searx.engines import (
4343from searx.utils import (
4444 UnicodeWriter, highlight_content, html_to_text, get_themes,
4545 get_static_files, get_result_templates, gen_useragent, dict_subset,
46− prettify_url
46+ prettify_url, get_blocked_engines
4747)
4848from searx.version import VERSION_STRING
4949from searx.languages import language_codes
@@ -225,7 +225,7 @@ def image_proxify(url):
225225
226226
227227def render(template_name, override_theme=None, **kwargs):
228− blocked_engines = request.cookies.get('blocked_engines', '').split(',')
228+ blocked_engines = get_blocked_engines(engines, request.cookies)
229229
230230 autocomplete = request.cookies.get('autocomplete')
231231
@@ -410,10 +410,7 @@ def autocompleter():
410410 request_data = request.args
411411
412412 # set blocked engines
413− if request.cookies.get('blocked_engines'):
414− blocked_engines = request.cookies['blocked_engines'].split(',') # noqa
415− else:
416− blocked_engines = []
413+ blocked_engines = get_blocked_engines(engines, request.cookies)
417414
418415 # parse query
419416 query = Query(request_data.get('q', '').encode('utf-8'), blocked_engines)
@@ -468,7 +465,7 @@ def preferences():
468465 resp = make_response(redirect(url_for('index')))
469466
470467 if request.method == 'GET':
471− blocked_engines = request.cookies.get('blocked_engines', '').split(',')
468+ blocked_engines = get_blocked_engines(engines, request.cookies)
472469 else: # on save
473470 selected_categories = []
474471 locale = None