tracker_url_remover.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. '''
  2. searx is free software: you can redistribute it and/or modify
  3. it under the terms of the GNU Affero General Public License as published by
  4. the Free Software Foundation, either version 3 of the License, or
  5. (at your option) any later version.
  6. searx is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. GNU Affero General Public License for more details.
  10. You should have received a copy of the GNU Affero General Public License
  11. along with searx. If not, see < http://www.gnu.org/licenses/ >.
  12. (C) 2015 by Adam Tauber, <asciimoo@gmail.com>
  13. '''
  14. from flask.ext.babel import gettext
  15. import re
  16. re1 = re.compile(r'utm_[^&]+&?')
  17. re2 = re.compile(r'(wkey|wemail)[^&]+&?')
  18. re3 = re.compile(r'&$')
  19. re4 = re.compile(r'^\?$')
  20. name = gettext('Tracker URL remover')
  21. description = gettext('Remove trackers arguments from the returned URL')
  22. default_on = True
  23. def on_result(request, ctx):
  24. url = ctx['result']['url']
  25. url = re1.sub('', url)
  26. url = re2.sub('', url)
  27. url = re3.sub('', url)
  28. url = re4.sub('', url)
  29. ctx['result']['url'] = url
  30. return True