From 8169d1865ae4bc9f36729b79d943bbd20875eb25 Mon Sep 17 00:00:00 2001 From: rsteube Date: Sun, 25 Dec 2016 17:50:24 +0100 Subject: [PATCH] Added ripbang userscript --- misc/userscripts/ripbang | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 misc/userscripts/ripbang 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)