on master help sign in
[enh] central html escaping of results
ef2ef79Adam Tauber
searx/webapp.py+4−3
@@ -40,7 +40,7 @@ except:
40 logger.critical("cannot import dependency: pygments")
40 logger.critical("cannot import dependency: pygments")
41 from sys import exit
41 from sys import exit
42 exit(1)
42 exit(1)
43−
43+from cgi import escape
44from datetime import datetime, timedelta
44from datetime import datetime, timedelta
45from urllib import urlencode
45from urllib import urlencode
46from urlparse import urlparse, urljoin
46from urlparse import urlparse, urljoin
@@ -433,8 +433,9 @@ def index():
433 for result in results:
433 for result in results:
434 if output_format == 'html':
434 if output_format == 'html':
435 if 'content' in result and result['content']:
435 if 'content' in result and result['content']:
436− result['content'] = highlight_content(result['content'][:1024], search_query.query.encode('utf-8'))
436+ result['content'] = highlight_content(escape(result['content'][:1024]),
437+ search_query.query.encode('utf-8'))
437− result['title'] = highlight_content(result['title'], search_query.query.encode('utf-8'))
438+ result['title'] = highlight_content(escape(result['title']), search_query.query.encode('utf-8'))
438 else:
439 else:
439 if result.get('content'):
440 if result.get('content'):
440 result['content'] = html_to_text(result['content']).strip()
441 result['content'] = html_to_text(result['content']).strip()