@@ -25,7 +25,6 @@ from urlparse import urlparse
25from searx import settings
25from searx import settings
26import ConfigParser
26import ConfigParser
29from datetime import datetime
28from datetime import datetime
31engine_dir = dirname(realpath(__file__))
30engine_dir = dirname(realpath(__file__))
@@ -106,31 +105,6 @@ def make_callback(engine_name, results, suggestions, callback, params):
106 results[engine_name] = cb_res
105 results[engine_name] = cb_res
107 return process_callback
106 return process_callback
109−def highlight_content(content, query):
113− # ignoring html contents
114− # TODO better html content detection
115− if content.find('<') != -1:
118− query = query.decode('utf-8')
119− if content.lower().find(query.lower()) > -1:
120− query_regex = u'({0})'.format(re.escape(query))
121− content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
124− for chunk in query.split():
126− regex_parts.append(u'\W+{0}\W+'.format(re.escape(chunk)))
128− regex_parts.append(u'{0}'.format(re.escape(chunk)))
129− query_regex = u'({0})'.format('|'.join(regex_parts))
130− content = re.sub(query_regex, '<b>\\1</b>', content, flags=re.I | re.U)
134def score_results(results):
108def score_results(results):
135 flat_res = filter(None, chain.from_iterable(izip_longest(*results.values())))
109 flat_res = filter(None, chain.from_iterable(izip_longest(*results.values())))
136 flat_len = len(flat_res)
110 flat_len = len(flat_res)
@@ -218,8 +192,6 @@ def search(query, request, selected_engines):
218 results = score_results(results)
192 results = score_results(results)
220 for result in results:
194 for result in results:
221− if 'content' in result:
222− result['content'] = highlight_content(result['content'], query)
223 for res_engine in result['engines']:
195 for res_engine in result['engines']:
224 engines[result['engine']].stats['score_count'] += result['score']
196 engines[result['engine']].stats['score_count'] += result['score']