diff --git a/misc/userscripts/ripbang b/misc/userscripts/ripbang new file mode 100755 index 000000000..3a083cad3 --- /dev/null +++ b/misc/userscripts/ripbang @@ -0,0 +1,31 @@ +#!/usr/bin/env python2 +# +# Adds DuckDuckGo bang as searchengine. +# +# Usage: +# :spawn --userscript ripbang [bang]... +# +# Example: +# :spawn --userscript ripbang amazon maps +# +import os, re, requests, sys, urllib + +try: + for argument in sys.argv[1:]: + bang = '!' + argument + r = requests.get('https://duckduckgo.com/', params={'q': bang + ' SEARCHTEXT'}) + + searchengine = urllib.unquote(re.search("url=[^']+", r.text).group( + 0)) + searchengine = searchengine.replace('url=', '') + searchengine = searchengine.replace('/l/?kh=-1&uddg=', '') + searchengine = searchengine.replace('SEARCHTEXT', '{}') + + if os.getenv('QUTE_FIFO'): + with open(os.environ['QUTE_FIFO'], 'w') as fifo: + fifo.write('set searchengines %s %s' % (bang, searchengine)) + else: + print '%s %s' % (bang, searchengine) +except: + # fail silent + exit(1)