@@ -17,6 +17,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
1717
1818from flask.ext.babel import gettext
1919import re
20+from urlparse import urlunparse
2021
2122regexes = {re.compile(r'utm_[^&]+&?'),
2223 re.compile(r'(wkey|wemail)[^&]+&?'),
@@ -28,17 +29,16 @@ default_on = True
2829
2930
3031def on_result(request, ctx):
31− splited_url = ctx['result']['url'].split('?')
32+ query = ctx['result']['parsed_url'].query
3233
33− if len(splited_url) is not 2:
34+ if query == "":
3435 return True
3536
3637 for reg in regexes:
37− splited_url[1] = reg.sub('', splited_url[1])
38+ query = reg.sub('', query)
3839
39− if splited_url[1] == "":
40− ctx['result']['url'] = splited_url[0]
41− else:
42− ctx['result']['url'] = splited_url[0] + '?' + splited_url[1]
40+ if query != ctx['result']['parsed_url'].query:
41+ ctx['result']['parsed_url'] = ctx['result']['parsed_url']._replace(query=query)
42+ ctx['result']['url'] = urlunparse(ctx['result']['parsed_url'])
4343
4444 return True